fehler übersehen ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fehler übersehen ?

    Guten abend,

    ich habe ein Problem mit meinen Script. Leider funktioniert es nicht richtig.
    Das Problem besteht darin das ich die Meldung bekomme "Sorry, aber deine Logindaten sind leider falsch" obwohl alle Einträge richtig sind und er zu "Login erfolgreich weiter" springen sollte.
    Ich vermute mal das es nur ein kleiner fehler ist.

    PHP-Code:
    <?php
    session_start
    ();

    $was $_REQUEST['action'];

    if(!isset(
    $was))
       {
       
    $was "status";
       }

    if(!isset(
    $_SESSION['username']) and $was=="status")
       {
       echo 
    "Bitte erst <a href=\"?action=login\">einloggen</a>";
       }

    if(isset(
    $_SESSION['username']) and $was=="status")
       {
       echo 
    "Hallo ".$_SESSION['username']." <a href=\"?action=logout\">Logout</a>";
       }

    if(
    $was=="login")
       {
    echo 
    "<link rel=\"stylesheet\" type=\"text/css\" href=\"style1.css\">";
    ?>
    <form method="post" action="send.php""<?php echo $_SERVER['PHP_SELF'];?>">
    <p align="center"><br>
    "Nickname: <input type="Text" name="action"><br>
    "Passwort:&nbsp;&nbsp;<input type="password" name="Pass"><br>
    <img src="secimg.php?<?php echo time();?>"><br>
    <input name="secCheck" type="password"><br>
    Sicherheitscode eingeben.
    <input type="submit">
    <php?
    </p>
    </form>
    <?php
    }
    $username $_POST["username"];

    if(
    $was == "username")
       {
       
    $_SESSION['username'] = $username;
    echo 
    "Login erfolgreich <a href=\"?action=status\">weiter</a>";
       }

    if(
    $was=="logout")
       {
       
    session_destroy();
       echo 
    "Logout erfolgreich <a href=\"?action=status\">weiter</a>";
       }
    send.php


    PHP-Code:
    <?php
    $Nickname 
    $_POST["Nick"];
    $Passwort $_POST["Pass"];
    $pass md5 ($Passwort);
    $errorC TRUE;
    $error TRUE;
    if (
    $Nickname=="geheim" AND $pass=="geheim")
    {
        if(!isset(
    $_SESSION['secCheck'])) $errorC TRUE;
        else 
    $errorC FALSE;
        if(
    $_SESSION['secCheck'] != $_POST['secCheck']) $errorC TRUE;
        else 
    $error FALSE;
    }

    if(!
    $errorC && !$error) {

        echo 
    "Willkommen im Memberbereich !";
    }
    else {
        echo 
    "Sorry, aber deine Logindaten sind leider falsch";
    }
    ?>

  • #2
    Testausgaben?

    Kommentar


    • #3
      *lol* sehe ich das richtig, dass ich mich über ?action=username einloggen kann, ohne dass ich username/passwort kenne?

      und natürlich sind die daten NICHT korrekt.

      PHP-Code:
      $Passwort $_POST["Pass"];
      $pass md5 ($Passwort);
      if (
      $pass=="geheim"
      guck mal ins manual. md5 gibt eine hash zurück. Dieser ist 32 Zeichen lang. Egal welchen String man übergibt. Der Fall $pass == 'geheim' wird also im Leben nicht zutreffen.

      Zuletzt geändert von TobiaZ; 21.04.2006, 19:31.

      Kommentar


      • #4
        hehe richtig. Muss ich wohl noch was machen. Und wenn ich das verändere was du geschrieben hast funktioniert es ?

        Kommentar


        • #5
          Original geschrieben von Fry2k
          Und wenn ich das verändere was du geschrieben hast funktioniert es ?
          Das musst du schon selbst ausprobieren *g*

          Nur wie TobiaZ schon richtig angemerkt hat gibt md5 einen hashwert zurück, ergo musst du natürlich auch dein vorgegebenes Passwort ebenso mit md5 versehen, sonst führt der vergleich ja ins Nirvana.

          Denn du vergleichst ja momentan e8636ea013e682faf61f56ce1cb1ab5c mit geheim was demnach auch immer FALSE ergibt.


          Sers
          Der Boris

          Kommentar


          • #6
            das pw ist ja md5 verschlüsselt .... ich habe es hier nur geheim genannt obwohl es ja eigentlich schwachsinn ist weil man ja angeblich md5 nicht entschlüsseln kann aber sicher ist sicher ^^

            Kommentar


            • #7
              habe es gerade nochmal getestet als der Fehler muss woanders liegen.

              Kommentar


              • #8
                so ein schwachsinn, wie sollen wir den fehler finden, wenn du nicht den code zeigst, den du verwendest.

                Kommentar


                • #9
                  was ist das denn da oben ?

                  Kommentar

                  Lädt...
                  X