Как восстановить пароль WordPress админки — Как зайти в админку

Пять способов изменить пароль в WordPress — WP Magazine

Ваш пароль в WordPress — это ключ к вашему сайту. Как и любые другие ключи, пароль можно забыть или потерять. В этой статье мы рассмотрим пять способов смены пароля в WordPress, которые помогут вам восстановить доступ к вашему сайту в случае потери пароля, адреса электронной почты, и даже если вы стали жертвой взлома.

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

Изменить пароль в WordPress вы можете через настройки профиля пользователя. После того как вы выполнили вход в панель администрирования WordPress, зайдите в меню Пользователи → Ваш профиль
и найдите раздел Новый пароль
. Здесь вы можете задать новый пароль для текущего пользователя.

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

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

Данный метод является самым простым и удобным, но к сожалению не применимым в тех случаях, когда вы не можете выполнить вход в панель управления WordPress. К счастью есть и другие варианты, не требующие входа.

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

Если вы забыли пароль от вашего сайта на WordPress, то вы можете восстановить его по электронной почте. В форме входа (по адресу /wp-login.php) вы можете щёлкнуть ссылку «Забыли пароль» и ввести адрес электронной почты вашего пользователя или имя пользователя.

В течение нескольких минут на вашу электронную почту придёт письмо со специальной ссылкой для восстановления пароля. При переходе по этой ссылке, вам будет представлена форма, где вы сможете ввести новый пароль для вашего пользователя. Так же как и в первом методе, вам будет представлен индикатор надёжности пароля.

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

Если у вас нет доступа к электронной почте пользователя или если по какой-либо причине не работает отправка электронной почты с вашего сервера, то вам придётся воспользоваться другим методом.

Изменение пароля с помощью phpMyAdmin

Большинство хостинг-провайдеров предоставляют доступ к phpMyAdmin — это утилита для работы с базами данных MySQL, где WordPress хранит всю информацию о своих пользователях. Если вы не можете зайти в phpMyAdmin, советуем обратиться за помощью к вашему хостинг-провайдеру, или же попробовать другой способ смены пароля.

После того как вы выполнили вход в phpMyAdmin, найдите базу данных вашего сайта и выберите её в панели слева. Её легко распознать по наличию таблиц wp_posts, wp_postmeta, wp_comments, wp_commentmeta, wp_users, wp_usermeta и т.д. Учтите, что префикс может отличаться.

Здесь нас интересует таблица wp_users
. После того как вы её откроете, вы увидите список всех пользователей вашего сайта. Выберите того пользователя, чей пароль вы хотите изменить и щёлкните кнопку «редактировать». Вам будет представлена форма редактирования пользователя.

Редактирование пользователя в phpMyAdmin

Поле user_pass
отвечает за пароль выбранного пользователя. Для смены пароля очень важно выбрать функцию MD5
из выпадающего списка для поля user_pass, и затем ввести новый пароль в значении поля.

После сохранения изменений вы сможете выполнить вход в панель администрирования WordPress используя ваш новый пароль. Учтите, что изменив пароль в phpMyAdmin, вы не увидите его в открытом виде в таблице wp_users, поскольку WordPress хранит все пароли в зашифрованом виде.

Изменение пароля с помощью консоли MySQL

Если ваш хостинг провайдер не предоставляет пакет phpMyAdmin, то вы можете попытаться подключиться к вашей базе данных MySQL используя клиент MySQL через командную строку. Этот способ является более продвинутым и не рекомендуется новичкам.

Подключившись к серверу через SSH, выполните вход на сервер MySQL через командную строку, заменив значения username и password (а так же localhost, если вы подключаетесь к удалённой базе данных):

mysql -uusername -ppassword -hlocalhost  

Если вам удалось подключиться, то так же как и в предыдущем способе, вам нужно найти вашу базу данных WordPress. Вы можете это сделать используя команды SHOW DATABASES:

mysql> SHOW DATABASES;  +--------------------+  | Database           |  +--------------------+  | information_schema |  | wordpress          |  +--------------------+  

Командой SHOW TABLES можно получить список всех таблиц определённой базы данных:

mysql> SHOW TABLES IN wordpress;  +------------------------------+  | Tables_in_wordpress          |  +------------------------------+  | wp_commentmeta               |  | wp_comments                  |  | wp_links                     |  | wp_options                   |  ...  

После того, как вы нашли интересующую вас базу данных, выберите её командой USE, и выведите список всех пользователей:

mysql> USE wordpress;  Database changed  mysql> SELECT user_login FROM wp_users;  +---------------+  | user_login    |  +---------------+  | admin         |  | kovshenin     |  ...  

Определив имя пользователя чей пароль вы хотите изменить, используйте команду UPDATE для смены пароля. Так же как и с phpMyAdmin, здесь необходимо воспользоваться функцией MD5 при вводе нового пароля:

mysql> UPDATE wp_users SET user_pass = MD5('newpassword') WHERE user_login = 'kovshenin';  Query OK, 1 row affected (0.00 sec)  Rows matched: 1  Changed: 1  Warnings: 0  

После выполнения данного запроса вы сможете выполнить вход в панель администрирования WordPress, используя ваш новый пароль.

При работе с запросами MySQL стоит быть предельно осторожным. Забыв например часть «WHERE…» в предыдущем запросе, вы измените пароли для всех пользователей и отменить это действие нельзя. Мы рекомендуем сделать резервную копию базы данных прежде чем начинать работу с консолью MySQL.

Изменение пароля с помощью PHP файла

Когда другие методы не являются доступными, пароль в WordPress можно изменить с помощью простого PHP файла. Для данного способа вам понадобится доступ к FTP серверу, где хранится ваш сайт. Создайте новый PHP файл с произвольным именем (например password-recovery.php) и следующим содержанием:

  add_action( 'init', 'my_password_recovery' );  function my_password_recovery() {      $user = get_user_by( 'login', 'my-username' );      wp_set_password( 'my-new-password', $user->ID );  }  

Данный код находит в базе данных пользователя с заданным именем пользователя, и изменяет его пароль. Не забудьте заменить значения my-username и my-new-password на ваше имя пользователя и пароль.

После этого откройте ваш FTP клиент и подключитесь к серверу вашего сайта. В директории где установлен WordPress найдите папку wp-content и зайдите в неё. Найдите директорию mu-plugins
(не путайте с директорией plugins). Если директория mu-plugins не существует — создайте её. Загрузите в директорию mu-plugins созданный вами PHP файл.

Конечный путь до файла должен выглядеть примерно так: wordpress/wp-content/mu-plugins/password-recovery.php

После того как вы загрузили ваш файл, вы сможете выполнить вход в административную панель WordPress используя пароль, который вы указали в вашем PHP файле.

И наконец, не забудьте снова зайти в вашу директорию mu-plugins и удалить созданный вами файл
password-recovery.php. Если вы этого не сделаете, WordPress будет изменять пароль при каждом посещении вашего сайта, что существенно снизит скорость его работы.

Хотим так же напомнить, что слабый пароль является самой распространённой причиной взлома сайтов. Подробнее вы можете почитать в нашей статье о безопасности в WordPress.

Если вам не подошёл ни один из выше перечисленных способов для смены пароль, оставьте комментарий, и мы обязательно постараемся вам помочь.

Как восстановить пароль администратора в WordPress

Порой возникает ситуация, когда пароль от панели администратора в WordPress забывается или теряется, либо же вы занимаетесь чужим сайтом, и нужно восстановить доступ в админку. Ниже будет рассказано о паре способах, как быстро поменять пароль администратора или пользователя в Вордпресс.

Самый простой способ сменить пароль админа WordPress, дать права админа и суперадмина

Этот способ — самый простой вариант, который позволит:

  • Если пользователя не существует, создать его и сразу дать права админа;
  • Если пользователь существует, сменить ему пароль;
  • Назначить пользователя администратором (administrator
    );
  • Если WordPress работает в режиме Multisite
    , назначить пользователя суперадминистратором (superadmin
    ) сети WordPress MU.

Создаём строго в кодировке UTF-8 без BOM
(например, в Notepad++) mu-plugin (вкратце — /wp-content/mu-plugins/sheensay_change_admin_password.php
), либо пишем в functions.php (в этом случае пропускаем первую строку с ?php
)

    /**   * Создаём пользователя или изменяем существующего, и наделяем его правами админа и суперадмина   * После использования обязательно удалите или отключите, закомментировав первую строку add_action   * @link https://sheensay.ru/?p=1452   */  add_action( 'init', 'sheensay_update_user' );    function sheensay_update_user() {    // Логин. Меняете на свой  $user_login = 'тутлогин';  // Пароль. Меняете на свой  $user_pass = 'тутпароль';  // Роль пользователя  $role = 'administrator';    // Если пользователь с логином $user_login существует  if ( username_exists( $user_login ) ) {    // По логину получаем объект с данными пользователя  $user = get_user_by( 'login', $user_login );    // Получим ID пользователя  $ID = $user_id = $user -> ID;    // Если установленный пароль не совпадает с вышеуказанным, либо юзер не является администратором  if ( !wp_check_password( $user_pass, $user -> data -> user_pass ) || !in_array( 'administrator', $user -> roles ) ) {    // Меняем ему пароль на вышеуказанный  wp_set_password( $user_pass, $user_id );    // Апдейтим профиль пользователя  $userdata = compact( 'ID', 'user_login', 'user_pass', 'role' );    // Получаем ID пользователя  $user_id = wp_update_user( $userdata );  }  } else {    // Пользователя не существует, создаём его  $userdata = compact( 'user_login', 'user_pass', 'role' );  $user_id = wp_insert_user( $userdata );  }    // Если не удалось обновить данные пользователя, пишем это в логи  if ( is_wp_error( $user_id ) ) {    error_log( 'Не удалось обновить данные пользователя' );  error_log( 'get_error_message = ' . $user_id -> get_error_message() );  error_log( 'get_error_code = ' . $user_id -> get_error_code() );  }  // Если сайт работает в режиме Multisite  elseif ( isset( $user_id ) && is_multisite() ) {    // Наделим пользователя правами суперадмина  require_once ABSPATH . 'wp-admin/includes/ms.php';  grant_super_admin( $user_id );  }  }    

Внесите в значение переменной $user_login
нужный логин, $user_pass
— нужный пароль. Пароль желательно собрать из букв латиницы разного регистра (больших и маленьких) и цифр. Спецсимволы не используйте, с ними пароль не установится. Когда получите доступ к панели администратора, сможете установить оттуда пароль со спецсимволами.

Теперь пробуйте авторизоваться в панели администратора http://example.com/wp-admin/
с логином и паролем, которые вы указали в соответствующих переменных.

После успешной авторизации в панели админа обязательно сделайте следующее:

  1. Удалите из /mu-plugins/
    файл sheensay_change_admin_password.php
    или вышеуказанный код из functions.php, если не сделали этого ранее;
  2. Смените пароль на сложный, если в $user_pass
    вы указали что-то простое.

Оба пункта выполнять обязательно, так как код создаёт ненужную нагрузку, а простой пароль — потенциальная дыра в безопасности!

Помните, что по статистике большинство взломов сайтов — из-за простого легкоподбираемого пароля

Как восстановить доступ с помощью phpMyAdmin

Имя доступ к phpMyAdmin, можно быстро создать своего пользователя или же изменить пароль от существующего. Для этого вы проводите следующие манипуляции

  1. Заходите в панель управления phpMyAdmin
  2. Находите там свою базу данных
  3. Ищете таблицу wp_users
    и открываете её

Вот тут хочу привлечь ваше внимание. Посмотрите в вашу базу данных, а именно на префиксы таблиц. По умолчанию, таблицы имеют префикс wp_
. Если у вас он другой, например, rp_
, то и все команды далее вы должны поменять соответственно под ваш префикс везде без исключения, т.е., к примеру, использовать не wp_capabilities
, а rp_capabilities
, и так далее. Если таблиц много, и вы не уверены, какой префикс верный, загляните в файл wp-config.php
в корне вашего сайта, он будет обозначен в конце в переменной $table_prefix = 'wp_';
. Также, будьте внимательны к регистру букв, ABС_capabilities
и abc_capabilities
— это разные таблицы с точки зрения вордпресс

Дальше всё зависит от ваших потребностей: либо у вас уже есть пользователь, и нужно просто изменить ему пароль, либо нужно создать отдельный аккаунт с правами администратора. Как — описано дальше.

Как изменить пароль существующему пользователю

  1. В таблице wp_users
    находите нужный аккаунт — Изменить

    Список пользователей WordPress

  2. В открывшемся окне ищем строку user_pass
    . В ней в столбце Функция
    в выпадающем списке надо выбрать MD5
    , а в столбце Значение
    ввести новый пароль

    Устанавливаем новый пароль для пользователя

Это всё, пароль изменён, доступ к админке с помощью этого аккаунта восстановлен. Если нет, пройдитесь по всем пунктам внимательнее. Если всё же не помогло — пишите в комментариях, решим вопрос

Как добавить нового администратора

Далее будет инструкция, как добавить нового пользователя с правами администратора. Для этого нам придётся провести 3 несложных запроса к базе данных и, при этом, быть внимательными.

  1. Открываем таблицу с пользователями wp_users
    . В ней на вкладке Обзор
    мы видим список текущих пользователей.

    Список текущих пользователей

    Пока что, у нас только 1 пользователь с логином admin
    и ID = 1

  2. Теперь мы добавим своего нового пользователя с правами админа, так как по тем или иным причинам не можем пользоваться текущим (или его не существует). Придумаем ему логин test
    . ID зададим равным 2, руководствуясь принципом — самый большой ID среди всех пользователей +1. Переходим на вкладку Вставить

    Добавляем нового пользователя

    • ID
      — вводим сюда ID нового пользователя
    • user_login
      — логин
    • user_pass
      — пароль. Не забываем добавить функцию MD5
    • user_nicename
      — никнейм
    • user_email
      — email пользователя. На него приходят уведомления
    • user_url
      — ссылка на сайт пользователя. Не обязательно
    • user_registered
      — дата регистрации пользователя
    • user_status
      — статус пользователя. Выставляете 0
    • display_name
      — отображаемое имя пользователя. На ваш вкус
    • После заполнения полей отправляете запрос — жмёте OK

    В результате увидите, что запрос успешно выполнен

    Новый пользователь успешно добавлен

    А в таблице wp_users
    появился наш пользователь

    Но, не спешите радоваться. Если вы на данном этапе попробуете авторизоваться под свежим аккаунтом, то наткнётесь на ошибку: У вас недостаточно полномочий для доступа к этой странице.
    Это значит, что для данного пользователя не выставлены нужные права. И этим сейчас мы и займёмся.

  3. Переходим в таблицу wp_usermeta
    , вкладка Вставить
    и заполняем поля:

    Добавляем пользователю права администратора

    • umeta_id
      — оставляем пустым
    • user_id
      — вводим ID нашего пользователя. В моём случае 2
    • meta_key
      — вводим wp_capabilities
      . Это ключ к правам пользователя
    • meta_value
      — вставляете без изменений a:1:{s:13:"administrator";s:1:"1";}
      — это сериализованная строка с правами администратора
  4. И последний штрих — снова переходим во вкладку Вставить
    таблицы wp_usermeta

    • umeta_id
      — оставляем пустым
    • user_id
      — вводим ID нашего пользователя. В моём случае 2
    • meta_key
      — вводим wp_user_level
      . Ключ к уровню доступа пользователя
    • meta_value
      — вставляете 10
      — наивысший уровень

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

Как добавить админа WordPress с помощью SQL

Выжимка на SQL для тех, кому лень возиться с phpMyAdmin. Нужно заменить в тексте db
на имя вашей базы данных, значение ID
на ваше. По умолчанию, в базу db
с префиксом таблицwp_
будет добавлен администратор под ником и логином test
, ID=2
и паролем 111

INSERT INTO `db`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('2', 'test', MD5('111'), 'test', '[email protected]', '', '2016-04-25 00:00:00', '', '0', 'Test');      INSERT INTO `db`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '2', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');      INSERT INTO `db`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '2', 'wp_user_level', '10');  

Как изменить пароль пользователю, если нет доступа к phpMyAdmin

Если есть доступ к SSH или FTP, но нет к phpMyAdmin, вы можете воспользоваться следующим вариантом. Открываете каталог (если не существует, создаёте) /wp-content/mu-plugins/
. (Подробнее про mu-plugins и WordPress MU) В нём создаёте файл с любым названием, например, change_password.php
, а внутрь этого файла записываете код

  add_action( 'init', 'sheens_set_new_password' );  function sheens_set_new_password() {      $_ = get_user_by( 'login', 'логин' ); // тут вы записываете логин пользователя, которому нужно жёстко прописать пароль      wp_set_password( 'пароль', $_->ID ); // тут вы записываете новый пароль  }  

Не забудьте сменить логин и пароль на Ваши

После этого сохраняете всё и авторизуетесь на сайте под этим пользователем.

Как только вам удалось авторизоваться после этой манипуляции, тут же удалите файл change_password.php
, так как он будет создавать ненужную нагрузку на сайт, сбрасывая пароль при каждом посещении сайта.

Ссылка на основную публикацию