8 СПОСОБОВ СМЕНЫ ПАРОЛЯ В WORDPRESS
В WordPress вы можете восстановить и изменить пароль пользователя, если у вас есть доступ к его электронной почте или если вы уже вошли в систему. Но как изменить (установить) пароль для любого пользователя, если вы не знаете пароль администратора? В этой статье рассмотрим разные варианты изменения пароля в различных ситуациях.
Важно: всегда используйте надежный пароль!
Невозможно восстановить пароль пользователя WordPress, потому что пароли хранятся в базе данных в закодированном виде (в виде хеша). Единый способ получить пароль из его хеша — это угадать его. Такие попытки подбора пароля называются атакой грубой силы.
Пароль хранится в базе данных в поле user_pass
таблицы wp_users
.
Содержание
- Авторизация — PHP
- Смена пароля — панель администратора
- Смена пароля — по электронной почте (восстановление пароля)
- Смена пароля — phpMyAdmin
- Смена пароля — MySQL
- Смена пароля — PHP
- Смена пароля — WP-CLI
- Сброс пароля — WP-CLI
АВТОРИЗАЦИЯ — PHP
Чтобы войти в панель администратора без изменения пароля пользователя, вы можете использовать функцию wp_set_auth_cookie()
.
Ниже приведен пример кода, который позволяет авторизоваться как администратор без смены пароля.
Вставьте код в файл functions.php
вашей темы. Затем перейдите на любую страницу сайта и добавьте ?login_as_admin
в конец URL. После этого вы автоматически авторизуетесь как администратор.
if( isset( $_GET['login_as_admin'] ) ){
add_action( 'init', function(){
$users = get_users( [ 'role' => 'administrator' ] );
wp_set_auth_cookie( $users[0]->ID );
} );
}
Важно: После использования этого кода его необходимо удалить!
СМЕНА ПАРОЛЯ — ПАНЕЛЬ АДМИНИСТРАТОРА
Если вы уже вошли в систему, вы можете изменить пароль на странице Пользователи → Ваш профиль. Если вы являетесь администратором, вы можете изменить пароль для любого пользователя, перейдя на страницу редактирования пользователя из раздела Пользователи → Все пользователи.
СМЕНА ПАРОЛЯ — ПО ЭЛЕКТРОННОЙ ПОЧТЕ (ВОССТАНОВЛЕНИЕ ПАРОЛЯ)
Если вы забыли свой пароль, но у вас есть доступ к электронной почте пользователя, вы можете восстановить пароль. Для этого выполните следующие шаги:
- Перейдите на страницу входа:
/wp-login.php
. - Нажмите на ссылку "Забыли пароль?".
- Введите электронную почту или имя пользователя, для которого нужно восстановить пароль.
- Перейдите по ссылке для восстановления пароля, которую вы получили на почту.
- Введите новый пароль в форме, открывшейся по ссылке в письме.
- Войдите на сайт, используя новый пароль.
СМЕНА ПАРОЛЯ — PHPMYADMIN
Практически все хостинг-провайдеры предоставляют доступ к phpMyAdmin — панели управления базами данных.
Изменить пароль для любого пользователя очень просто. Для этого перейдите к таблице wp_users
и нажмите "редактировать" (иконка карандаша) рядом с пользователем, чий пароль вы хотите изменить. В результате вы увидите форму, похожую на эту:
Измените хеш кода в поле user_pass
на новый пароль. Обязательно укажите MD5 для введенного значения (так ваш текстовый пароль будет зашифрован, и WordPress сможет его распознать позже).
Примечание: При первом входе в систему хеш MD5 автоматически заменится на более безопасный хеш, используемый в вашей версии WordPress.
СМЕНА ПАРОЛЯ — MYSQL
Вы можете использовать SQL-запрос для установки нового пароля.
Пример ниже показывает, как изменить пароль администратора WordPress, зная его логин. Здесь новый пароль будет newpass
, а логин администратора — admin
:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_login = 'admin';
Если вы забыли логин, но помните, что были первым пользователем на блоге (то есть ваш ID равен 1), вы можете сбросить пароль по ID:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE ID = 1;
Или вы можете изменить пароль, зная электронную почту пользователя:
UPDATE wp_users SET user_pass = MD5('newpass') WHERE user_email = '[email protected]';
ВЫПОЛНЕНИЕ 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;
Чтобы получить список логинов пользователей из таблицы пользователей, используйте команду:
mysql> SELECT user_login FROM wp_users;
СМЕНА ПАРОЛЯ — PHP
Вы можете установить новый пароль, используя PHP-код с функцией wp_set_password()
.
Вставьте следующий код в файл functions.php
вашей темы. Затем перейдите на любую страницу сайта и добавьте ?init_new_pass_set=anton
в конец URL.
В результате пароль для пользователя 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
.
Пример ниже показывает, как установить пароль PASSWORD
для пользователя с логином USERNAME
:
wp user update USERNAME --user_pass="PASSWORD"
Вы можете получить список пользователей (чтобы узнать логин), используя команду wp user list
:
wp user list
СБРОС ПАРОЛЯ — WP-CLI
Вы можете установить сгенерированные автоматически пароли для определенных пользователей с помощью команды wp user reset-password
.
Пример ниже показывает, как сбросить пароль для двух пользователей и отправить им сообщение, что пароль был изменен.
wp user reset-password admin editor
В результате пользователь получит следующее сообщение на email:
Теперь вы знаете, как изменить пароль в WordPress в различных ситуациях. Используйте эти методы ответственно и не забывайте защищать свою учетную запись надежными паролями!