Восстановление пароля 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 (администратора).

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

По мотивам.