Mysql
 sql >> Database >  >> RDS >> Mysql

Password_verify in PHP

La prassi generale è la seguente:

  1. Recupera password hash dal database in cui il username =il nome utente inserito.
  2. Se vengono trovate righe, allora c'è un utente
  3. 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.
  • 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.