Я пытаюсь написать простой логин на пару дней. После того, как я подумал, что у меня это работает, я понял, что он примет любой ввод в поле пароля как истинный, поэтому я его оставил и снова начал. Я пытаюсь использовать функцию php password_verify
для проверки, но независимо от того, что я делаю, она всегда возвращает true. Есть ли что-то, что я делаю неправильно? Вот мой код (я знаю, что это не безопасно, я просто хочу, чтобы распознать неправильный пароль сейчас)Проверка пароля всегда возвращает true
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);
if(password_verify($_POST['password'], $hash))
{
echo 0;
}
else
{
echo 1;
}
}
@FerozAkbar Он находится в [ядре PHP] (http://php.net/password_verify). –
тот, который вы сравниваете, должен быть выбранным хэшированным паролем из строки db, которая была зарегистрирована в предыдущей операции. – Ghost
Это ваш «полный» код? Я сомневаюсь, так как вы отметили это как 'mysqli'. Покажите нам, как вы его используете. У меня есть несколько готовых скриптов, которые используют обе функции. –