La prassi generale è la seguente:
- Recupera
password
hash dal database in cui ilusername
=il nome utente inserito. - Se vengono trovate righe, allora c'è un utente
- Ora confronti la password immessa con l'hash memorizzato nel database.
Descriverò il flusso di cui sopra in uno pseudocodice per te qui:
$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
}
Note
- Smetti di usare
mysql_*
funzioni. La libreria è deprecata in quanto inaffidabile e verrà rimossa nelle versioni future di PHP.- Fai meglio a usare DOP o Dichiarazioni preparate per MySQL
- Dovresti sempre leggere il manuale -
password_verify()
, indica chiaramente che si confronta la "password inserita dall'utente" con la versione con hash memorizzata nel database.