La pratique générale est la suivante :
- Récupérer le
password
hachage de la base de données où leusername
=le nom d'utilisateur saisi. - Si des lignes sont trouvées, alors il y a un utilisateur
- 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 feriez mieux d'utiliser PDO ou Instructions MySQLi préparées
- 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.