С помощью запроса в MySQL
Если Вы пользуетесь виртуальным хостингом, то способ сброса пароля администратора Drupal с помощью запроса в MySQL - единственный вариант.
- Авторизуйтесь по ssh
- Перейдите в корневую директорию сайта
- Выполните команду
./scripts/password-hash.sh "<PASSWORD>"
- Скопируйте полученный ответ после «hash:»
password: <PASSWORD> hash: $S$Dm@bibKkXCGCvwfk32KgyAYuAm.OD7q0
- Перейдите в phpMyAdmin
- Выберите нужную базу данных
- Нажмите вкладку «SQL»
- Выполните запрос:
UPDATE <prefix>users SET pass ='<HASH>' WHERE uid = 1;
Обратите внимание, на <prefix>, который может быть произвольным, либо отсутствовать.
С помощью drush
Если Вы пользуетесь виртуальным сервером и администрируете более одного сайта на Drupal, то наиболее оптимальным вариантом сброса пароля будет использование drush.
- Авторизуйтесь по ssh
- Перейдите в корневую директорию сайта
- Выполните команду
drush upwd --password="<PASSWORD>" "1"
С помощью php-скрипта
ВНИМАНИЕ. ВЫСОКАЯ СТЕПЕНЬ УГРОЗЫ БЕЗОПАСНОСТИ САЙТА
Этот способ подойдёт в случае отсутствия php-доступа.
- Создайте файл с произвольным названием, например «sa89Bf.php».
- Откройте его и поместите следующий код:
define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); require_once DRUPAL_ROOT . '/includes/password.inc'; if (isset($_GET['pass']) && !empty($_GET['pass'])) { $newhash = user_hash_password($_GET['pass']); } else { die('Retry with ?pass=PASSWORD set in the URL'); } $updatepass = db_update('users') ->fields(array( 'pass' => $newhash, // Uncomment the following lines to reset the administrative username and/or email address, if necessary. // 'name' => 'admin', // 'mail' => 'yourmail@example.com' )) ->condition('uid', '1', '=') ->execute(); print "Done. Please delete this file immediately!"; drupal_exit(); </pre>
- Загрузите файл с помощью файлового менеджера или FTP в корневую директорию сайта.
- Перейдите браузером по ссылке:
http://<ваш сайт>/<созданный файл>?pass=<PASSWORD>
- После удачного завершения процедуры получите ответ «Done».
- Удалите файл!