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 користувача, пароль можна відновити. Для цього потрібно:
- Перейти до сторінки Вхід :
/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 = '[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.
Користувач в результаті отримає таке повідомлення на пошту: