sql >> Databasteknik >  >> RDS >> Mysql

Password_verify i PHP

Den allmänna praxisen är följande:

  1. Hämta lösenord hash från databasen där användarnamn =det inmatade användarnamnet.
  2. Om rader hittas finns det en användare
  3. Nu jämför du det inmatade lösenordet med hash som lagras i databasen.

Jag ska beskriva ovanstående flöde i lite pseudokod åt dig här:

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

Anteckningar

  • Sluta använda mysql_* funktioner. Biblioteket är föråldrat eftersom det är opålitligt och kommer att tas bort i framtida versioner av PHP.
  • Du bör alltid läsa manualen - password_verify() , står det tydligt att du jämför "användarens inmatade lösenord" med den hashade versionen som lagras i din databas.


  1. Omvänd sträng ord för ord med SQL

  2. Korrekt formaterad MySQL date insert-sats returnerar alla nollor

  3. Vilka är reglerna för att använda interna parametrar i SSRS

  4. Vilka är anslutningsgränserna för Google Cloud SQL från App Engine, och hur återanvänder man DB-anslutningar på bästa sätt?