Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Authentifizierungsskript

Einklappen

Neue Werbung 2019

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

  • Problem mit Authentifizierungsskript

    Hallo erstmal, einen schönen guten Abend. Ich bin der Sascha, absolut blutiger php Anfänger und hoffe hier viel dazulernen zu können.

    Ich habe von jemandem Dateien bekommen die einen Webshop in PHP und MySQL darstellen sollen. Ich (voller Übereifer) wollte da mal dran rumprobieren und habe nun ein Problem.

    Dieser Webshop besteht bisher aus 5 Skripten. Bei einem Skript handelt es sich um eine Authorisierung. Wenn ich das index Skript lade, dann kann ich mich einloggen, das funktioniert, dann kann ich etwas auf einer Artikelseite bestellen. Wenn ich bestelle, werde ich auf eine Bestellseite weitergeleitet. Auf der Bestellseite ist ein Link zurück zur Artikelseite um noch etwas zu bestellen. Das Problem: Wenn ich auf den Link klicke wird erneut nach den logindaten gefragt. Die Logindaten soll er sich aber selbst über eine Session merken.
    Ich hoffe ihr könnt euch ungefähr vorstellen was ich meine.
    Hier mal der Code vom authentifizierungsskript:
    Entschuldigt bitte falls euch der Code nicht gut genug eingerückt ist.
    Code:
    <?php
       session_start();
      // session_start muss vor einer Ausgabe aufgerufen werden, sonst kommt es
      // zu Fehlern
      
      
          
            $kenn= "\"".$_POST[kennung]."\"";
            $pass= "\"".$_POST[passwort]."\"";
    
          
      if (isset ($kenn))
      {
        $sql = "SELECT nummer, vorname, nachname FROM Kunden where Kennung=$kenn AND        passwort=$pass;";
              
        $result = mysql_query($sql) or die(mysql_error());
        
        // falls keine Ergebniszeile vorliegt, sind die Daten nicht korrekt
        
        if (!($row = mysql_fetch_row($result)))
          {
          // weiterleitung zum Anmeldeformular und Ausgabe einer Fehlermeldung
          header("Location: http://".$_SERVER['HTTP_HOST'] ."/php_mysql/index.php?meldung='Login Inkorrekt'");  
          }
          
        else
        {
        //Daten korrekt, also Wert in Session speichern
        $_SESSION['angemeldet']="ja";
        $_SESSION['nummer']=$row[0];
        }
      }
      else if($_SESSION['angemeldet']!="ja")
        {
        // Weiterleitung zum Anmeldeformular
        header("Location: http://".$_SERVER['HTTP_HOST']."/php_mysql/index.php");
        }
       
        
        // falls die Daten korrkt sind wird normal weiter gemacht
    
    ?>

  • #2
    Und was erwartest Du nun, dass wir hier tun?
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      So wie nikosch schon sagte, was genau sollen wir tun? Dein Code ist anbei nicht wirklich sauber und anfällig, z.B. für Sql Injection etc.!

      Wolf29
      while (!asleep()) sheep++;

      Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

      Kommentar


      • #4
        Eigentlich würd ich zu diesem Thread fast gar nichts sagen, da Nikosch eigentlich alles gesagt hat.

        Ich finde aber "nicht wirklich sauber und anfällig" ist ein wenig pauschal und benötigt schon ein wenig mehr Substanz.

        Bezogen aufs aktuelle Beispiel würde ich die Passwort-Speicherung, die gewählte MySQL-Extension, die ungeprüfte Verwendung externer Variablen, und die SQL-Injection-Lücke monieren. Außerdem solltes Du Dir vor Augen halten, dass header() die Verarbeitung des aktuellen Skriptes nicht abbricht.

        Schau z.B. mal hier drüber (man verzeihe mir den Link zur Konkurrenz), da hab ich mal ne ganze Menge Dinge bezüglich der Vorgehensweise zu Login-Systemen durchgekaut.

        Gruß Jens

        Kommentar

        Lädt...
        X