De algemene praktijk is als volgt:
- Ophalen
password
hash uit de database waar deusername
=de ingevoerde gebruikersnaam. - Als er rijen worden gevonden, is er een gebruiker
- Nu vergelijk je het ingevoerde wachtwoord met de hash die in de database is opgeslagen.
Ik zal de bovenstaande stroom in een pseudo-code hier voor je schetsen:
$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
}
Opmerkingen
- Stop met het gebruik van
mysql_*
functies. De bibliotheek is verouderd omdat deze onbetrouwbaar is en zal worden verwijderd in toekomstige versies van PHP.- Je kunt beter BOB gebruiken of door MySQLi opgestelde verklaringen
- Je moet altijd de handleiding lezen -
password_verify()
, staat duidelijk dat u het "door de gebruiker ingevoerde wachtwoord" vergelijkt met de gehashte versie die in uw database is opgeslagen.