wp_check_password()
Сравнивает строки паролей: читабельный пароль (обычный) с кодированным паролем (в виде хэша). Нужна для проверки пароля пользователя.
Параметр $hash закодированный пароль (хранится в БД), а параметр $password - обычный текстовый пароль. Функция кодирует переданный текстовый пароль и сравнивает получившийся хэш с указанным, если они совпадают (кодированы по одному принципу) функция вернет true.
Поддерживает обратную совместимость со старой версией протокола аутентификации, который еще не использует библиотеку PHPass.
Pluggable функция — эту функцию можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.
Замена функции (переопределение) — в must-use или обычном плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.
Хуки из функции
Возвращает
true|false
. true/false: false, если пароль не совпадает с хэшем.
Использование
wp_check_password( $password, $hash, $user_id );
- $password(строка) (обязательный)
- Пароль в виде обычного текста.
- $hash(строка) (обязательный)
- Закодированный пароль с которым нужно сравнить первый параметр.
- $user_id(число)
- ID пользователя, которому нужно пересохранить хэш пароля в соответствии с новым (последним) алгоритмом хэширования. Пересохранение произойдет только если указанный пароль пройдет проверку.
По умолчанию: ''
Примеры
#1 Проверим пароль пользователя
Допустим у нас есть пароль в виде обычного текста и нам нужно узнать является ли этот пароль паролем пользователя с ID 3:
$user = get_userdata( 3 ); if( $user ){ $password = 'moy-super-parol'; $hash = $user->data->user_pass; if ( wp_check_password( $password, $hash ) ) echo "Это пароль пользователя"; else echo "Это не его пароль"; }
Заметки
- Global. PasswordHash. $wp_hasher PHPass object used for checking the password against the $hash + $password.
Список изменений
С версии 2.5.0 | Введена. |