WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

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

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

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

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

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

Смена пароля через Профиль в админке

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

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

Восстановление пароля в WordPress

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

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

меню

Авторизация — 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 );
	} );    
}

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

меню

Установка пароля — 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.

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

3 коммента
    1. Спасибо за твой сайт! Мной, думаю как и многими другими, он используется чаще официальной документации.
    2. Если использовать способ смены пароля по PHP - выдаст ошибку. Нужно просто закрыть функцию add_action.
    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` изменен" );
    	} );
    }
    4
    Ответить3 мес назад #
    • campusboy3345 cайт: www.youtube.com/c/wpplus

      Здравствуйте. Большое спасибо за такие тёплые слова и за упоминание об ошибки, поправили. Благодаря Вам и таким же неравнодушным ребятам наш с вами ресурс становится ещё лучше.

      Ответить3 мес назад #
    • AlexanderPR cайт: prontosms.ru

      Поддерживаю эти слова. ППц долго мучился с этими паролями, сейчас наткнулся на статью и прозрел)

      Ответитьмесяц назад #
Здравствуйте, !     Войти . Зарегистрироваться