⊗ppPmAuHs 423 of 447 menu

Passwort-Hashing in PHP

Es ist falsch, Passwörter im Klartext zu speichern. Ein Hacker-Angreifer könnte Zugriff auf Ihre Datenbank erhalten und die Passwörter stehlen.

Daher wird normalerweise der Login im Klartext gespeichert, während das Passwort mit einer speziellen Funktion md5 gehasht wird, die das Passwort als Parameter entgegennimmt und seinen Hash zurückgibt, aus dem sich das ursprüngliche Passwort nicht wiederherstellen lässt.

Lassen Sie uns zum Beispiel den Hash einer beliebigen Zeichenkette finden:

<?php echo md5('12345'); // gibt '827ccb0eea8a706c4c34a16891f84e7b' aus ?>

Jetzt müssen wir unsere Registrierung und unsere Autorisierung überarbeiten. Zunächst würde ich empfehlen, die Tabelle mit den Benutzern zu leeren, da dort aktuell Passwörter im Klartext gespeichert sind, während deren Hashes gespeichert werden sollten. Dann wird sich die Tabelle beim Testen der Registrierung mit Daten im neuen Format füllen.

Korrigieren wir nun unsere Registrierung so, dass bei der Speicherung eines neuen Benutzers in die Datenbank nicht das Passwort, sondern sein Hash hinzugefügt wird.

Die beschriebene Korrektur würde in etwa so aussehen:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // Passwort in seinen Hash umwandeln $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Nehmen wir ähnliche Korrekturen bei der Autorisierung vor:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // Passwort in seinen Hash umwandeln $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Nehmen Sie die Änderungen an der Registrierung unter Berücksichtigung des Hashings vor, registrieren Sie ein paar neue Benutzer, und vergewissern Sie sich, dass sie in der Datenbank mit gehashten Passwörtern hinzugefügt wurden.

Nehmen Sie die Änderungen an der Autorisierung unter Berücksichtigung des Hashings vor und versuchen Sie, sich mit den zuvor registrierten Benutzern anzumelden.

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