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

PHP password_verify virker ikke mod databasen

\n i den følgende linje, indlejrer et linjeskift, (Rediger:et, der ikke kan inkluderes i den brugerindtastede adgangskode) .

$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";

og du skal slette den og starte forfra med en ny hash.

Jay Blanchard , et medlem her på Stack indsendte en note om det ikke for længe også i password_hash() manual, hvilket er noget, han og jeg faktisk talte om.

En anden mulighed ville være at bruge trim() ; der også virker (i det øjeblik, hvor hashningen foregår).

$password = password_hash($pass,  PASSWORD_BCRYPT, $options)."\n";
$password = trim($password);
// Store in db after

Alligevel skal du stadig starte forfra ved at rydde de gamle hash(er) og oprette nye.

Husk dog, at du ikke bør undslippe adgangskoder.

En såsom 123'\abc (der er fuldkommen gyldig) vil blive ændret til 123\'\abc af real_escape_string() ; det er ikke nødvendigt. password_verify() tager sig af det sikkerhedsmæssigt.




  1. php-funktionen returnerer ikke alle resultater fra en MySQL-forespørgsel i en foreach

  2. PHP &MySQL sammenligne adgangskode

  3. MySQL bruger ikke indekser (Using filesort) ved brug af ORDER BY

  4. Tilføj fremmednøgleforhold mellem to databaser