Восстановление пароля drupal 7
Как вернуть доступ к своему сайту, если забыли пароль, а восстановление стандартными средствами не работает?
Иногда случается, что забываешь пароль к инсталляции drupal. Но когда есть доступ к файлам и базе данных, то сменить пароль не проблема. Метод основан на создании хэш-суммы нового известного пользователю пароля и замены в базе данных значения хэш-суммы старого пароля на новую.
Итак, создаем файл со следующим кодом:
define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc'); echo user_hash_password(trim($_GET['pass']));
Сохраняем файл, например, назовем его recovery.php. После этого необходимо загрузить файл в корневую директорию сайта.
Для смены пароля необходимо вызвать созданный скрипт с заданным параметром pass:
http://имя сайта/recovery.php?pass='new_password' ,
где новый пароль наш будет - new_password.
Полученный в результате выполнения скрипта код необходимо вставить в таблицу users в колонку pass.
Это можно сделать в одной из утилит для работы с базами данных (например, для базы данных MySQL - phpmyadmin, MySQL Workbench).
Можно также выполнить простой SQL запрос:
UPDATE users SET pass = 'hash' WHERE `name` = 'admin';
где 'hash' - сгенерированный скриптом код.
Этим простым запросом мы заменим пароль у пользователя с uid=1 (администратора).
Во избежание различных нежелательных последствий после смены пароля данный скрипт лучше удалить.
По мотивам.