Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Password_verify in PHP

Die allgemeine Praxis ist wie folgt:

  1. Holen Sie password Hash aus der Datenbank, wo der username =der eingegebene Benutzername.
  2. Wenn Zeilen gefunden werden, gibt es einen Benutzer
  3. Jetzt vergleichen Sie das eingegebene Passwort mit dem in der Datenbank gespeicherten Hash.

Ich werde den obigen Ablauf hier in einem Pseudocode für Sie skizzieren:

$query = SELECT password FROM users WHERE username = '$username'

$data = FETCH_THE_DATA($query);

if(password_verify($USER_INPUTTED_PASSWORD, $data['password'])) {
    // password is correct
} else {
    // password is in-correct
}

Notizen

  • Beenden Sie die Verwendung von mysql_* Funktionen. Die Bibliothek ist veraltet, da sie unzuverlässig ist und in zukünftigen Versionen von PHP entfernt wird.
  • Sie sollten immer das Handbuch lesen - password_verify() , heißt es eindeutig, dass Sie das "vom Benutzer eingegebene Passwort" mit der gehashten Version vergleichen, die in Ihrer Datenbank gespeichert ist.