Mysql
 sql >> Base de données >  >> RDS >> Mysql

Password_verify en PHP

La pratique générale est la suivante :

  1. Récupérer le password hachage de la base de données où le username =le nom d'utilisateur saisi.
  2. Si des lignes sont trouvées, alors il y a un utilisateur
  3. Vous comparez maintenant le mot de passe saisi au hachage stocké dans la base de données.

Je vais décrire le flux ci-dessus dans un pseudo-code pour vous ici :

$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
}

Remarques

  • Arrêter d'utiliser mysql_* les fonctions. La bibliothèque est obsolète car elle n'est pas fiable et sera supprimée dans les futures versions de PHP.
  • Vous devriez toujours lire le manuel - password_verify() , il indique clairement que vous comparez le "mot de passe saisi par l'utilisateur" à la version hachée qui est stockée dans votre base de données.