sql >> Database >  >> RDS >> Mysql

Wachtwoord_verifiëren in PHP

De algemene praktijk is als volgt:

  1. Ophalen password hash uit de database waar de username =de ingevoerde gebruikersnaam.
  2. Als er rijen worden gevonden, is er een gebruiker
  3. 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 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.


  1. OpenVPN gebruiken om toegang tot uw databasecluster in de cloud te beveiligen

  2. Mijn Ajax-oproep werkt niet - Ik probeer jstree te vullen via ajax php &mysql JSON

  3. Welsprekende laravel WhereIn All

  4. UTF8-workflow PHP, MySQL samengevat