8 способов изменить пароль в WordPress

Click here to view original web page at wp-kama.ru

В WordPress можно восстанавливать и изменять пароль пользователя, если у вас есть доступ к email пользователя или вы уже авторизованы. А как поменять/установить пароль любому пользователю если вы не знаете пароль администратора? Ниже рассмотрим разные варианты изменения пароля для разных ситуаций.

Главное помните — всегда нужно указывать надежный пароль!

Узнать пароль пользователя WordPress невозможно. Пароли хэшируются и единственный способ узнать пароль по хэшу — это его угадать. Такой подбор паролей называется Брут-форс атакой.

Пароль пользователя WordPress, храниться в базе данных, в поле user_pass таблицы wp_users.

Если вы авторизованы, то пароль можно изменить на странице профиля Пользователи → Ваш профиль. Если вы при этом еще и администратор, то пароль можно изменить любому пользователю, перейдя в редактирование пользователя со страницы Пользователи → Все пользователи.

Изменение пароля в профиле пользователя

меню

Если вы забыли пароль, но у вас есть доступ к email пользователя, то пароль можно восстановить. Для этого нужно:

  1. Перейти на страницу Входа: /wp-login.php.
  2. Кликнуть по ссылке «Забыли пароль?».
  3. Ввести email или имя пользователя, пароль для которого нужно восстановить.
  4. Перейти по ссылке на восстановление пароля, полученной на email (если указали имя пользователя, то нужно проверить email соответствующий имени пользователя).
  5. Ввести новый пароль в форме на которую вы попали кликнув по ссылке в письме.
  6. Войти на сайт используя новый пароль.
Восстановление пароля в WordPress

меню

Почти все хостинг провайдеры предоставляют доступ к phpMyAdmin — панель управления базой данных.

Там изменить пароль любого пользователя очень просто. Для этого нужно зайти в таблицу wp_users и нажать «редактировать» (иконку карандаша) рядом с пользователем, пароль которого хотите поменять. В результате вы увидите такую форму:

Установка нового пароля через phpMyAdmin

Измените хэш код в поле user_pass на новый пароль. И обязательно укажите MD5 для установленного значения (так введенный текстовый пароль будет захэширован и WP сможет его потом «распознать»).

Заметка: при первой авторизации MD5 хэш автоматически будет изменен на более надежный хэш, который используется в вашей версии WordPress.

меню

Для смены пароля можно использовать 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 запроса из консоли

Для начала нужно зайти в консоль и подключиться к БД, такой командой:

или без указания хоста (если вы работает в консоли из среды самого хостинга)

Далее, нужно запустить вышеупомянутый запрос, так:

Чтобы узнать название таблиц в базе данных 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 кодом, с помощью функции 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(){
		wp_set_password( 'newpass', get_user_by( 'login', $login )->ID );
		wp_die( "Пароль юзера `$login` изменен" );
	}
}

После использования этого кода, его обязательно нужно удалить!

меню

Чтобы не изменять пароль пользователя, но при этом попасть в админку, можно использовать функцию 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 );
	} );    
}

меню

Изменить пароль пользователя можно командой wp user update.

Этот пример показывает как для пользователя с логином USERNAME установить пароль 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 user reset-password

Этот пример показывает как сбросить пароль для двух пользователей и отправить им сообщение о том что пароль был изменен.

wp user reset-password admin editor
	Reset password for admin.
	Reset password for editor.
	Success: Passwords reset.

Пользователь в результате получит такое сообщение на почту: