Вспомнить забытый пароль WordPress — 8 способов
В WordPress можно восстанавливать и изменять пароль пользователя, если у вас есть доступ к email пользователя или вы уже авторизованы. А как поменять (установить пароль) любому пользователю если вы не знаете пароль администратора? Ниже рассмотрим разные варианты изменения пароля для разных ситуаций.
Главное помните — всегда нужно указывать надежный пароль!
Узнать пароль пользователя WordPress невозможно, потому что пароли хранятся в БД в закодированном виде (в виде хэша) и единственный способ узнать пароль по хэшу — это его угадать. Такой подбор паролей называется Брут-форс.
Пароль хранится в базе данных в поле
user_pass
таблицы wp_users
.Авторизация — PHP
Чтобы не изменять пароль пользователя, но при этом попасть в админку, можно использовать функцию
wp_set_auth_cookie()
.Код ниже показывает как авторизоваться в качестве администратора не меняя его пароль.
Вставьте код в файл темы
functions.php
. Затем зайдите на любую страницу сайта и допишите в конец URL ?login_as_admin
. После этого вы автоматически будите авторизованы как администратор.if( isset( $_GET['login_as_admin'] ) ){ add_action( 'init', function(){ $users = get_users( [ 'role' => 'administrator' ] ); wp_set_auth_cookie( $users[0]->ID ); }); }
После использования этого кода, его обязательно нужно удалить!
Смена пароля — профиль в админке
Если вы авторизованы, то пароль можно изменить на странице профиля Пользователи → Ваш профиль. Если вы при этом еще и администратор, то пароль можно изменить любому пользователю, перейдя в редактирование пользователя со страницы Пользователи → Все пользователи.
Смена пароля — email (восстановление пароля)
Если вы забыли пароль, но у вас есть доступ к email пользователя, то пароль можно восстановить. Для этого нужно:
- Перейти на страницу Входа:
/wp-login.php
. - Кликнуть по ссылке «Забыли пароль?».
- Ввести email или имя пользователя, пароль для которого нужно восстановить.
- Перейти по ссылке на восстановление пароля, полученной на email (если указали имя пользователя, то нужно проверить email соответствующий имени пользователя).
- Ввести новый пароль в форме на которую вы попали кликнув по ссылке в письме.
- Войти на сайт используя новый пароль.
Смена пароля — phpMyAdmin
Почти все хостинг провайдеры предоставляют доступ к phpMyAdmin — панель управления базой данных.
Там установить пароль любого пользователя очень просто. Для этого нужно зайти в таблицу
wp_users
и нажать «редактировать» (иконку карандаша) рядом с пользователем, пароль которого хотите поменять. В результате вы увидите такую форму:Измените хэш код в поле
user_pass
на новый пароль. И обязательно укажите MD5
для установленного значения (так введенный текстовый пароль будет захэширован и WP сможет его потом «распознать»).Заметка: при первой авторизации MD5 хэш автоматически будет изменен на более надежный хэш, который используется в вашей версии WordPress.
Смена пароля — MySQL
Для установки нового пароля можно использовать SQL запрос.
Пример ниже, показывает как изменить пароль администратора WordPress, зная его логин. Тут новый пароль будет — newpass, а логин администратора — admin:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin'
Если вдруг вы забыли логин, но точно помните, что вы были первым юзером на блоге, а значит ваш ID равен 1, то можно сбросить пароль по ID —
WHERE ID = 1
:UPDATE wp_users SET user_pass = MD5('newpass') WHERE ID = 1;
Или можно изменить пароль зная email юзера:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_email = 'adminko@gmail.com';
MD5(‘newpass’) = e6053eb8d35e02ae40beeeacef203c1a
Пример запуска MySQL запроса из консоли
Для начала нужно зайти в консоль и подключиться к БД, такой командой:
mysql -u USERNAME -pPASSWORD -h HOST_NAME_OR_IP DATABASE_NAME
или без указания хоста (если вы работает в консоли из среды самого хостинга)
mysql -u USERNAME -pPASSWORD DATABASE_NAME
Далее, нужно запустить вышеупомянутый запрос, так:
mysql> UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin';
Чтобы узнать название таблиц в базе данных my_database, используйте команду:
mysql> SHOW TABLES IN my_database; +---------------------------+ | Tables_in_my_database | +---------------------------+ | wp_commentmeta | | wp_comments | | wp_options | | wp_postmeta | | wp_posts | | wp_term_relationships | | wp_term_taxonomy | | wp_termmeta | | wp_terms | | wp_usermeta | | wp_users | +---------------------------+
Чтобы получить список логинов пользователей из таблицы юзеров, используйте команду:
mysql> SELECT user_login FROM wp_users; +----------------+ | user_login | +----------------+ | abalak | | AbamFaw | | admin | +----------------+
Смена пароля — PHP
Новый пароль можно установить PHP кодом, с помощью функции
wp_set_password()
.Вставьте следующий код в файл темы
functions.php
. Затем зайдите на любую страницу сайта и допишите в конец URL ?init_new_pass_set=anton
.В результате пароль пользователя anton будет изменен на newpass.
if( isset( $_GET['init_new_pass_set'] ) && $login = $_GET['init_new_pass_set'] ){ add_action( 'init', function() use ( $login ){ wp_set_password( 'newpass', get_user_by( 'login', $login )->ID ); wp_die( "Пароль юзера `$login` изменен" ); } ); }
После использования этого кода, его обязательно нужно удалить!
Смена пароля — WP-CLI
Установить пароль пользователя можно командой
wp user update
.Этот пример показывает как для пользователя с логином USERNAME установить пароль PASSWORD:
wp user update USERNAME --user_pass="PASSWORD"
Получить список пользователей (чтобы узнать логин) можно командой wp user list:
wp user list +----+---------------+--------------+---------------------+---------------------+---------------+ | ID | user_login | display_name | user_email | user_registered | roles | +----+---------------+--------------+---------------------+---------------------+---------------+ | 4 | aleksej-nnn | Alex | alsey119@yandex.ru | 2018-04-24 21:04:24 | administrator | | 7 | denis | Denis | deis@denis.pro | 2018-06-06 23:30:54 | subscriber | | 9 | shk_user | shk_user | sheer@qsologies.com | 2018-08-11 13:27:09 | subscriber | | 8 | vladlu | vladlu | spata@famail.com | 2018-03-26 00:11:48 | editor | +----+---------------+--------------+---------------------+---------------------+---------------+
Сброс паролей — WP-CLI
Можно установить авто-сгенерированные пароли для указанных пользователей, для этого есть команда
wp user reset-password
.Этот пример показывает как сбросить пароль для двух пользователей и отправить им сообщение о том что пароль был изменен.
wp user reset-password admin editor Reset password for admin. Reset password for editor. Success: Passwords reset.
Пользователь в результате получит сообщение на почту 🙂