Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP password_verify не работи срещу база данни

\n в следващия ред се вгражда прекъсване на ред, (Редактиране:такова, което не може да бъде включено в въведената от потребителя парола) .

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

и трябва да го изтриете и да започнете отначало с нов хеш.

Джей Бланчард , член тук в Stack изпрати бележка за това не твърде дълго също в password_hash() ръководство, което е нещо, за което той и аз всъщност говорихме.

Друг вариант би бил да използвате trim() ; това също работи (в момента на хеширане).

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

Все пак трябва да започнете отначало, като изчистите старите хешове и създадете нови.

Имайте предвид обаче, че не трябва да избягвате пароли.

Един като 123'\abc (като е напълно валиден) ще бъде променен на 123\'\abc от real_escape_string() ; не е необходимо. password_verify() се грижи за това от гледна точка на сигурността.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php mysql_connect Предупреждението е деактивирано

  2. LastInsertId на PDO за MySQL условие за състезание?

  3. Как да търсите в поле за дата за низ с помощта на API за критерии за JPA

  4. Разлика в MySQL JOIN срещу LEFT JOIN

  5. SQL JOIN много към много