⊗ppPmAuAHS 425 of 447 menu

Hinzufügen von Salt zur Autorisierung

Jetzt müssen wir die Autorisierung ändern. Hier werden die Änderungen umfangreicher sein.

Es wird nicht mehr möglich sein, die Richtigkeit des Login-Passwort-Paares sofort mit einer einzigen Abfrage zu überprüfen. Warum: weil, um das Passwort zu überprüfen, man seinen gehashten Wert mit Salt benötigt, und das Salt wird in der Datenbank gespeichert und ist für jeden Login eindeutig.

Zuerst muss der Datensatz nur anhand des Logins abgerufen werden, das Salt ausgelesen werden, das eingegebene Passwort "gesalzen" werden und mit dem gesalzenen Passwort aus der Datenbank verglichen werden. Und nur wenn sie übereinstimmen, - den Benutzer autorisieren.

Beachten Sie, dass es vorkommen kann, dass der Login falsch eingegeben wurde. In diesem Fall kann die Passwortprüfung unterlassen werden, und es kann sofort ausgegeben werden, dass die Autorisierung nicht möglich ist - die Daten sind falsch:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // Es gibt einen Benutzer mit diesem Login, jetzt muss das Passwort geprüft werden... } else { // Es gibt keinen Benutzer mit diesem Login, geben wir eine Meldung aus } ?>

Fügen wir die Passwortprüfung hinzu:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $salt = $user['salt']; // Salt aus der DB $hash = $user['password']; // Gesalzenes Passwort aus der DB $password = md5($salt . $_POST['password']); // Gesalzenes Passwort vom Benutzer // Vergleiche die gesalzenen Hashes if ($password == $hash) { // Alles in Ordnung, autorisieren... } else { // Passwort hat nicht gepasst, geben wir eine Meldung aus } } else { // Es gibt keinen Benutzer mit diesem Login, geben wir eine Meldung aus } ?>

Aus Sicherheitsgründen wird dem Benutzer normalerweise nicht mitgeteilt, was genau nicht gestimmt hat - der Login oder das Passwort, um das Erraten von Login-Passwort-Paaren durch Hacker zu erschweren. Es wird einfach eine Meldung ausgegeben, dass das Login-Passwort-Paar falsch ist oder etwas in der Art.

Implementieren Sie die oben beschriebene Autorisierung mit gesalzenem Passwort. Versuchen Sie sich zu registrieren, sich anzumelden, und vergewissern Sie sich, dass alles funktioniert.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen