Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×

Question

Posted

Salut, am şi eu o problemă la gm, mereu contul unui admin este spart..

are idee careva cum se face protectie la admin?

Adică, când el se loghează cu parola normală să intre pe server şi sa ii mai ceara o parola după, si daca nu o pune pe cea adevărata sa ia kick automat.

Daca stie, sper sa ma poata ajuta si pe mn.

14 answers to this question

Recommended Posts

  • 0
Posted (edited)
12 minutes ago, Bogdan1 said:

Nu vreau ca ala, vreau un alt sistem..

pai poti face chiar tu un sistem, de exemplu, poti face un tabel in baza de date unde sa inregistrezi ip-urile si user-ul adminilor pe care un admin cu grad mai mare sa le poata aproba din panel de exemplu pentru ca adminul sa se poata conecta pe server, in caz contrar, sa nu il lase sa se conecteze. Insa ar putea devenii enervant pentru cei cu ip dinamic, deci alta solutie ar fii sa faci un tabel, unde inregistrezi niste key-uri pentru fiecare admin, ceva parole secundare, sau nu neaparat un alt tabel, o alta coloana in tabelul pentru users, parola care sa le fie ceruta dupa introducerea parolei normale si sa primeasca kick daca o gresesc.

Edited by Ionut_WS
  • 0
Posted (edited)

 

DEFINESTI

#define CUVANT_CHEIE "pui parola pe care vrei sa oceara"  

#define DIALOG_PAROLAADMIN 9921

forward LoginAdmin(playerid);

logina[MAX_PLAYERS], // la variabile

apoi la

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

pui 

if(dialogid == DIALOG_PAROLAADMIN)
    {
        if(response)
        {
            if(strfind(CUVANT_CHEIE, inputtext, true) == 0)
            {
                SCM(playerid, -1, "Te-ai logat cu succes ca staff.");
                KillTimer(logina[playerid]);
            }
            else return KickEx(playerid);
        }
        if(!response)return KickEx(playerid);
    }

 

la onplayerlogin

if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 1)
    {
        ShowPlayerDialog(playerid, DIALOG_PAROLAADMIN, DIALOG_STYLE_PASSWORD, "Conectare ca STAFF", "Scrie parola a staff-ului pentru a te conecta", "Gata", "");
        logina[playerid] = SetTimerEx("LoginAdmin",10000,false,"d",playerid);
    }

 

 iar ca public pui

 

public LoginAdmin(playerid)
{
    Kick(playerid);
    return 1;
}

 

Acesta este sistemul pe care il am si eu pe sa.engame.ro functioneaza perfect, daca iti va da erori imi spui ca poate am uitat eu sa copiez ceva din el sa iti pun aici :) dar eu zic ca e tot.

Edited by AlexxAdv
  • 0
Posted
9 minutes ago, AlexxAdv said:

 

DEFINESTI

#define CUVANT_CHEIE "pui parola pe care vrei sa oceara"  

#define DIALOG_PAROLAADMIN 9921

forward LoginAdmin(playerid);

logina[MAX_PLAYERS], // la variabile

apoi la

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

pui 

if(dialogid == DIALOG_PAROLAADMIN)
    {
        if(response)
        {
            if(strfind(CUVANT_CHEIE, inputtext, true) == 0)
            {
                SCM(playerid, -1, "Te-ai logat cu succes ca staff.");
                KillTimer(logina[playerid]);
            }
            else return KickEx(playerid);
        }
        if(!response)return KickEx(playerid);
    }

 

la onplayerlogin

if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 1)

 

 iar ca public pui

 

public LoginAdmin(playerid)
{
    Kick(playerid);
    return 1;
}
    {
        ShowPlayerDialog(playerid, DIALOG_PAROLAADMIN, DIALOG_STYLE_PASSWORD, "Conectare ca STAFF", "Scrie parola a staff-ului pentru a te conecta", "Gata", "");
        logina[playerid] = SetTimerEx("LoginAdmin",10000,false,"d",playerid);
    }

 

Acesta este sistemul pe care il am si eu pe sa.engame.ro functioneaza perfect, daca iti va da erori imi spui ca poate am uitat eu sa copiez ceva din el sa iti pun aici :) dar eu zic ca e tot.

C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20063) : error 055: start of function body without function header
C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20070) : error 003: declaration of a local variable must appear in a compound block
C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20070) : warning 217: loose indentation
C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20070) : error 017: undefined symbol "playername2"
C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20070) : warning 215: expression has no effect
C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20070) : error 001: expected token: ";", but found "]"
C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\Localhost.pwn(20070) : fatal error 107: too many error messages on one lin

  • 0
Posted

Am rezolvat, dar nu pot sa scap de public

LoginAdmin(playerid)
{
    KickEx(playerid);
    return 1;
  }
    {
        ShowPlayerDialog(playerid, DIALOG_PAROLAADMIN, DIALOG_STYLE_PASSWORD, "Conectare ca STAFF", "Scrie parola a staff-ului pentru a te conecta", "Gata", "");
        logina[playerid] = SetTimerEx("LoginAdmin",10000,false,"d",playerid);
    }

 

C:\Users\xBogdanSLL\Desktop\AICI SE COMPILEAZA\BBackRo.pwn(20064) : error 055: start of function body without function header

 

Iar linia este     {

  • 0
Posted

Deci, am incurcat eu putin,

 

la onplayerlogin pui

 

if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 1)

{
        ShowPlayerDialog(playerid, DIALOG_PAROLAADMIN, DIALOG_STYLE_PASSWORD, "Conectare ca STAFF", "Scrie parola a staff-ului pentru a te conecta", "Gata", "");
        logina[playerid] = SetTimerEx("LoginAdmin",10000,false,"d",playerid);
    }

 

iar 

 

public LoginAdmin(playerid)
{
    KickEx(playerid);
    return 1;
  } 

 

este altceva, sper ca ai inteles. nu le pui pe amandoua in acelasi loc doar aia cu showplayerdialog pui la onplayerlogin, public-ul il pui dupa alt public, undeva.

  • Thanks 1
  • 0
Posted (edited)
6 minutes ago, AlexxAdv said:

Deci, am incurcat eu putin,

 

la onplayerlogin pui

 

if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 1)

{
        ShowPlayerDialog(playerid, DIALOG_PAROLAADMIN, DIALOG_STYLE_PASSWORD, "Conectare ca STAFF", "Scrie parola a staff-ului pentru a te conecta", "Gata", "");
        logina[playerid] = SetTimerEx("LoginAdmin",10000,false,"d",playerid);
    }

 

iar 

 

public LoginAdmin(playerid)
{
    KickEx(playerid);
    return 1;
  } 

 

este altceva, sper ca ai inteles. nu le pui pe amandoua in acelasi loc doar aia cu showplayerdialog pui la onplayerlogin, public-ul il pui dupa alt public, undeva.

Părea ciudat rău..

Am rezolvat, te pup mersi:*

Dar am o problemă. cand pun parola sa ma conectez imi da server clossed connection.. Nici nu apuc as imi pun parola normală.

Edited by Bogdan1
  • 0
Posted

Verifica bine daca ai adaugat cum trebuie, daca liniile sunt in rand sa nu fie loose indetantion ca se creeaza bug, etc, verifica linie cu linie

  • 0
Posted
3 minutes ago, AlexxAdv said:

Verifica bine daca ai adaugat cum trebuie, daca liniile sunt in rand sa nu fie loose indetantion ca se creeaza bug, etc, verifica linie cu linie

Sunt trecute cum trb, dar nu merge...

  • 0
Posted

e destul de nesigura metoda ca de exemplu asta se va putea afla usor daca nu o schimbi periodic, poti incerca ceva prin care un admin cu grad mare sa modifice poentru fiecare admin in parte parola secundara de admin

  • Thanks 1
  • 0
Posted

Ionut, deocamdată voi lăsa aşa, apoi o să fac ca pe burned cu setkey şi chestii.

Mersi tuturor, am rezolvat:)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.