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

Password_verify i PHP

Den generelle praksis er som følger:

  1. Hent adgangskode hash fra databasen, hvor brugernavn =det indtastede brugernavn.
  2. Hvis der findes rækker, så er der en bruger
  3. Nu sammenligner du den indtastede adgangskode med den hash, der er gemt i databasen.

Jeg vil skitsere ovenstående flow i noget pseudokode for dig her:

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

Noter

  • Stop med at bruge mysql_* funktioner. Biblioteket er forældet, da det er upålideligt og vil blive fjernet i fremtidige udgivelser af PHP.
  • Du bør altid læse manualen - password_verify() , står det klart, at du sammenligner den "brugerindtastede adgangskode" med den hashed-version, som er gemt i din database.


  1. Kan ikke hente den værdi, jeg ønskede at vælge ved hjælp af Lagret procedure

  2. Kald til en medlemsfunktion find() på et ikke-objekt ved indsættelse af data ved hjælp af PHP mySQL simpleHTMLDOM

  3. MySQL Match fuldtekst

  4. Slutter med at lukke en åben SQL-forbindelse