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

У 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 користувача, пароль можна відновити. Для цього потрібно:

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


Зміна пароля – phpMyAdmin

Майже всі хостинг-провайдери надають доступ до phpMyAdmin – панель управління базою даних.

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

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

Змініть хеш-код у полі 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 = '[email protected]';

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 | [email protected] | 2018-04-24 21:04:24 | administrator |
| 7 | denis | Denis | [email protected] | 2018-06-06 23:30:54 | subscriber |
| 9 | shk_user | shk_user | [email protected] | 2018-08-11 13:27:09 | subscriber |
| 8 | vladlu | vladlu | [email protected] | 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.

Користувач в результаті отримає таке повідомлення на пошту:

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *