ohne passworteingabe eingeloggt o.O

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend zusammen,


    Habe eben einen schwerwiegenden fehler in meinem loginsystem entdeckt, wenn man ein falsches passwort eingibt kommt zwar die meldung das das passwort falsch ist aber wenn man garnichts eingibt und auf login klickt wird man einfach ohne weiteres eingeloggt und alle inidaten werden geladen.Das soll natürlich so nicht sein^^


    Muss ich hier vielleicht etwas ändern ?

    if(strcmp(inputtext,dini_Get(save,"passwort")) == 0)


    Wenn nicht, was muss ich tun ? Bin da wirklich ratlos.........



    Mit freundlichen Grüßen


    Anubis

  • Nuja aber wenn man das richtige passwort eingibt wird man ja eingeloggt also kann der string doch nicht leer sein ? Die eingabe aus dem textfeld wird ja sofort mit dem passwort der ini abgeglichen.......


    falsches passwort = kein login // returnt "Falsches Passwort"
    richtiges passwort = login // returnt "Eingeloggt"
    kein passwort = login // sollte doch das gleiche sein wie ein falsches passwort =?



    Was genau meinst du also damit das der string leer sein soll ?

  • Ne da steht schon was drin, sonst würde man ja mit dem richtigen passwort nicht eingeloggt werden und würde bei einem falschen passwort keine fehlermeldung bekommen.


    daran liegts also nicht.....

  • So problem gelöst. Habe mir mal das loginsystem von bfx angeguckt und da die Lösung gefunden - im prinzip das gleiche was maddin schon angesprochen hatte mit strlen.

    if(dialogid == loginbox)
    {
    if(response == 1)
    {
    format(save,sizeof(save),"spieler/%s.ini",playername[playerid]);
    {
    if(dini_Exists(save)) // wenn die ini existiert
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,loginbox,DIALOG_STYLE_INPUT,"Login","Gebe dein Passwort ein","Einloggen","Abbrechen");
    return SendClientMessage(playerid,COLOR_ROT,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(save,"passwort")) == 0)
    {
    blablub;
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT,"Falsches Passwort.");
    ShowPlayerDialog(playerid,loginbox,DIALOG_STYLE_INPUT,"Login","Gebe dein Passwort ein","Einloggen","Abbrechen");
    }}}}
    if(response == 0)
    {
    Kick(playerid);
    }}



    Thx an alle die geholfen haben.



    -CLOSED-

    4 Mal editiert, zuletzt von Anubis ()