PHP Tutorial: Login mit Registrierung| MySQL | deutsch




Der zweite Teil in der Login-Reihe, nun wird das Script vom letzten Tutorial mit einer Registrierung und einer Anbindung an das Datenbankensystem erweitert.

Original source


22 responses to “PHP Tutorial: Login mit Registrierung| MySQL | deutsch”

  1. Bitte, bitte, tut mir den Gefallen und stellt dieses Script so wie es ist nicht online! MD5 Hashes lassen sich erstmal viel zu leicht mit so genannten "Rainbow Tables" bruteforcen, das heißt so viel wie jemand ist hingegangen und hat massig Daten in MD5 Hashes umgewandelt. Angreifer muss demnach nur noch den Hash nehmen, haut den einmal durch die Suchfunktion seiner Rainbow Table und hat das Passwort. Daher lieber Algorithmen wie SHA256 oder sogar SHA512 nutzen! Wenn ich mich recht erinnere hat PHP die funktionen dafür sogar schon integriert.

    Was aber viel gravierender ist:
    Mit einer manipulierten Abfrage an den Server lässt sich der komplette SQL Server, je nach Konfiguration von diesem sogar das komplette System des Servers!
    Erklärung:
    An den SQL Server wird die Abfrage SELECT user FROM login WHERE user = "url query";
    Was ist aber nun, wenn die URL Query nicht einen Nutzernamen enthält, sondern Code, den der Angreifer aktiv dort einschleust?
    Gibt Angreifer nun in das Usernamefeld zum Beispiel ein
    bla" OR 1=1; —
    Steht in der SQL Query jetzt
    SELECT user FROM login WHERE user = "bla" OR 1=1; –";
    Das — sagt erstmal dem Server nur "ignorier alles was dahinter steht", damit das ganze Syntaktisch korrekt bleibt
    Daher:
    SELECT user FROM login WHERE user = "bla" OR 1=1;
    Das OR macht genau das wofür es steht – ein Oder Operant. Daher muss die Bedingung user = "bla" ODER 1 = 1 erfüllt sein
    1=1 ist nun aber immer erfüllt, was die Überprüfung davor komplett nutzlos macht.
    Noch gravierender wird es aber wenn der Nutzer in das Feld eingibt
    "; DROP DATABASE login; —
    Löscht mal eben die komplette Datenbank mit allen Logindaten.
    Also: Bitte, bitte sichert eure Scripts gegen diese Attacken ab! php bietet dafür die Funktion
    mysql_real_escape_string oder so (einfach mal googlen), da stehen auch Anwendungsbeispiele dazu bei.

  2. Ich hab das problem das wenn ich mich regi will, kommt mir noch oben der Titel. nichts mehr, kein Logout, kein erfolgreich, er hat in der Leiste dann oben www*****=page2 Aber wohin will der? ich hab keine 2te seite :O

  3. was ist daran falsch?

    <html>
    </head>
    <title>register</title>
    </head>
    <body>
    <h3>Register</h3>
    <?php
    if (!isset ($_GET["page"])) {
    ?>
    <form action="register.php?page=2" method="post">
    Name: <input type="text" name="user" /><br /><br />
    Passwort: <input type="password" name="paw" /><br /><br />
    Passwort wiederholen: <input type="password" name="paw2" /><br /><br />
    <input type="submit" name="Senden" />
    </form>
    <?php
    }
    ?>
    <?php
    if (isset($_GET["page"])) {
    if ($_GET["page"] == "2") {
    $user = strtolower($_POST["user"]);
    $pw = md5($_POST["pw"]);
    $pw2 = md5($_POST["pw2"]);

    if($pw != $pw2){
    echo "Du hast dein Passwort falsch wiederholt, bitte wiederhole es!<a href="register.php">rurück</a>";
    }

    }

    }
    ?>
    </body>
    </html>

  4. ich habe irgendwie das Problem, dass ich immer sofort weitergeleitet werde obwohl ich noch nichts eingegeben habe und außerdem steht bei login immer schon die anwort unten drunter. Außerdem ist bei der registrieung do dass schon ein teil des skript da steht. Wer kann mir weiter helfen?

  5. Aber wenn ich das richtig verstehe, wird man, egal mit was man sich registriert, immer auf die selbe Seite weitergeleitet. Wenn man jetzt zum Beispiel ein eigenes Profil, bzw eine eigene Seite für jede neue Registrierung machen möchte, fehlt doch bei dir was im Script, oder?

  6. Hallo htmlworld,

    wie kann ich einen Link den ich auf meiner Web-side anklicke, im contentbereich auf meiner eigenen Seite öffnen?
    Kannst du mir dabei helfen oder es mir auch zeigen wie?

    Gruß

  7. Registrieren

    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocstestregister.php:29 Stack trace: #0 {main} thrown in C:xampphtdocstestregister.php on line 29

    wo liegt der fehler das das funktioniert?

  8. Da ich ein sehr fauler Mensch bin hätte ich da mall eine frage.könntest du mir die ganzen html codes hier bei antworten reintuhe danke am besten alle 6 von vohrigen viedeo und diesen danke und lg Bilal

Leave a Reply