Il \n
nella riga seguente, sta incorporando un'interruzione di riga, (Modifica:una che non può essere inclusa nella password immessa dall'utente) .
$password = password_hash($pass, PASSWORD_BCRYPT, $options)."\n";
e devi eliminarlo e ricominciare da capo con un nuovo hash.
Jay Blanchard
, un membro qui su Stack ha inviato una nota
a riguardo non troppo a lungo anche nel password_hash()
manuale, che è qualcosa di cui io e lui abbiamo effettivamente parlato.
Un'altra opzione sarebbe usare trim()
; funziona anche (al momento dell'hashing).
$password = password_hash($pass, PASSWORD_BCRYPT, $options)."\n";
$password = trim($password);
// Store in db after
Tuttavia, devi ancora ricominciare da capo cancellando i vecchi hash e creandone di nuovi.
Tieni presente, però, che non dovresti sfuggire alle password.
Uno come 123'\abc
(essendo perfettamente valido) sarà modificato in 123\'\abc
di real_escape_string()
; non è necessario. password_verify()
se ne occupa, dal punto di vista della sicurezza.