проблема дизайна в обработке динамического ввода от конечного пользователя

При регистрации вы получаете пароль от пользовательского ввода и генерируете его с помощью password_hash() :

$hash = password_hash($_POST['password'], PASSWORD_BCRYPT);

Вы можете предоставить ему обычную соль для использования в третий параметр, но документация рекомендует не делать этого:

Внимание. Настоятельно рекомендуется, чтобы вы не генерировали свою соль для этой функции. Он автоматически создаст безопасную соль для вас, если вы ее не укажете.

blockquote>

Вы сохраняете этот хэш в базе данных. Убедитесь, что вы поместите его в поле CHAR / VARCHAR из символов 60 или дольше.

Когда пользователь хочет войти в систему, вы проверяете пароль, который они вводили против ранее сохраненного хеша, используя password_verify() :

$auth = password_verify($_POST['password'], $hash);

Конечно, вы получите правильное значение $hash из базы данных, выполнив поиск по указанному имени пользователя.

Если $auth - TRUE, тогда предоставленный пароль соответствует его хэшу, вычисленному при регистрации, и пользователь аутентифицируется.

0
задан jaco0646 4 March 2019 в 18:14
поделиться