Код такой:
$user = R::find('user', 'login = ?', array($data['login']));
if ($user) {
if(password_verify($data['password'], $user->password)) {
echo 'ok';
}
else {
echo = 'Данные введены неверно';
}
}
else {
echo = 'Пользователь не найден';
}
Он проверяет введёный логин и если аккаунт существует он проверяет пароль, а если верный и пароль то выводит "ok". Я создал в базе данных аккаунт с ником admin
и паролем 123
. Так вот пользователя он находит, но говорит что пароль введён не верно (выполняется 1-ый по счёту else
).
Почему он видит логин, но не видит пароль? Что не так?(
Вам нужно использовать функции password_hash и password_verify в связке. Когда пользователь при регистрации задаёт пароль вы должны сгенерировать на его основе хэш:
$hash = password_hash($password, PASSWORD_DEFAULT);
Этот хэш вместе с логином нужно нужно занести в базу данных. Заметьте, что нельзя хранить пароль в открытом виде, т.к. это небезопасно. Поэтому мы используем хэширование пароля.
Когда пользователь при входе вводит логин и пароль, мы должны выбрать в базе данных запись, соответствующую введённому логину (если она есть). После этого мы проверяем? соответствует ли пароль хэшу, хранящемуся в базе данных:
if(password_verify($password, $hash)) {
// Верный пароль
} else {
// Неверный пароль
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Вот тут по сути алгоритм один и тот жеПодключил библиотеку, которая работает с изображениями
Мне нужно програмно изменить текст в QTextEditИ не знаю как к нему обратится, точнее к его тексту