Стать администратором сайта имея доступ к FTP/SSH

Если у вас есть доступ на сервер/хостинг, то можно стать админом даже не заходя в БД.

Нужно создать в корне сайта файл login.php со следующим содержимым:

Для Drupal 7:

<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;
$user = user_load(1);
drupal_session_regenerate();
drupal_goto('admin');

Для Drupal 8:

<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once 'autoload.php';
$kernel = new DrupalKernel('prod', $autoloader);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$user = Drupal\user\Entity\User::load(1);
user_login_finalize($user);
$response->send();
$kernel->terminate($request, $response);

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

http://вашсайт/login.php

Вы станете админом. Дальше уже можно сменить пароль, если необходимо.

Не забудьте сразу после этого удалить файл с сервера, иначе любой, кто его запустит станет админом вашего сайта

Автор

ivnish Drupal FullStack Developer в компании Abventor

Комментарии

Аватар пользователя ivnish ivnish 1 марта в 11:52

Да. Имея доступ к админке можно загрузить на сайт shell и это фактически FTP/SSH. Естественно, как это делать я здесь писать не буду Smile Можешь в личку спросить, если интересно