Wordpress - Как проверить пароль ввода пользователя с помощью хешированного пароля - PullRequest
0 голосов
/ 16 октября 2018

Я хочу сделать систему пользовательского входа в WordPress.Такой, что он просит имя пользователя и пароль.Но это не аутентификация пользователя с заданным паролем, потому что он отличается от пароля, хранящегося в БД (он находится в хешированной форме).

Я прочитал кодекс wordpress для проверки пароля, который я нашел методом wp_check_password.Я попытался реализовать wp_check_password в приведенном ниже коде, но он не работает.В моем коде что-то отсутствует ??

Входные данные, предоставленные пользователем

имя пользователя: admin & пароль: pass1q @. // aa

Theхешированный пароль хранится в базе данных

$ P $ BY.HywWHy.bpgmBZzyV6RGxG / m6.3u /

Вот код, который я использую для проверки

$password_hashed = '$P$BY.HywWHy.bpgmBZzyV6RGxG/m6.3u/';
$plain_password = 'pass1q@.//aa';

if($wp_check_password($plain_password, $password_hashed)) {
    echo "YES, Matched";
} else {
    echo "No, Wrong Password";
}

Может кто-нибудь, пожалуйста, помогите мне с этим.Спасибо за положительный ответ от сообщества разработчиков.

1 Ответ

0 голосов
/ 16 октября 2018

https://developer.wordpress.org/reference/functions/wp_check_password/

Удалите $ из вызова функции.

Также не забудьте указать идентификатор пользователя

$user = get_user_by( 'login', $username );
if ( $user && wp_check_password( $pass, $user->data->user_pass, $user->ID) )
   echo "That's it";
else
   echo "Nope";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...