Авторизация в админ. панели 1С Битрикс без ввода пароля

Довольно часто в работе сталкиваюсь с ситуацией, когда клиент скинул задачи и уехал по своим делам, и на связь оперативно не выходит. А при начале выполнения задачи оказалось, что ранее выданный доступ к панели администратора 1С Битрикс утратил актуальность (логин/пароль изменен). Но, как говорится, время - деньги. И чтобы это время не терять, приходится прибегать к небольшой хитрости.

Лайфхак для быстрой авторизации в админке Bitrix

Ниже привожу полностью готовый код, который выполняет указанную задачу. Создаем файл с произвольным именем, например fast-login-to-admin-panel-1c-bitrix.php и размещаем в нем следующий код:

<?php
const NOT_CHECK_PERMISSIONS = true;
const NO_KEEP_STATISTIC     = 'Y';
const NO_AGENT_STATISTIC    = 'Y';
const NO_AGENT_CHECK        = true;
const PUBLIC_AJAX_MODE      = true;
const DisableEventsCheck    = true;

require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");    

global $USER;

/* Получаем ID пользователя из группы администраторов */
$rs = $USER->GetList(($by='ID'), ($order='ASC'), array('GROUPS_ID' => array(1)));

/* Авторизовываемся в панели администратора */
if($arUser = $rs->Fetch())
	$USER->Authorize($arUser['ID']);

/* Удаляем этот файл, чтобы не оставлять лазейку открытой */
@unlink(__FILE__); 

/* Выполняем редирект на главную страницу админки после авторизации */
LocalRedirect('/bitrix/admin/'); 

require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/epilog_after.php");?>

В чем плюсы именно такого решения

  • Файл можно просто сохранить в корне сайта и перейти по его адресу в адресной строке браузера, набрав, например, https://site.ru/fast-login-to-admin-panel-1c-bitrix.php;
  • Авторизация произойдет даже если стандартный администратор с ID 1 не существует;
  • После авторизации Вас автоматически перенаправит в панель администрирования;
  • Файл автоматически удалится сразу после первого перехода на него;

Общие рекомендации

  • Придумайте сложное название файла из произвольного набора английских букв и цифр, чтобы на него "случайно" не могли попасть злоумышленники при поиске "стандартных" вариантов входа;
  • Ни в коем случае не называйте файл auth.php, login.php, admin.php, enter.php и другими, столь явными и простыми именами;
  • Никогда не оставляйте такой файл "лежать" без надобности в корне сайта или по любым другим стандартным общедоступным директориям;

Авторизация в админ. панели 1С Битрикс без ввода пароля

В каких ситуациях может пригодиться данный способ авторизации

  • Если у Вас есть доступ к файловой системе сайта через панель хостинга или FTP / SSH и клиент предоставил некорректный логин / пароль для авторизации в админке;
  • Если у Вас сама по себе задача по восстановлению доступа к панели администрирования при наличии доступа к панели хостинга или к файлам сайта по FTP / SSH.

Предостережение

Друзья, внимание. По роду деятельности мне часто приходится заниматься лечением сайтов на 1С Битрикс от вирусов, вредоносного кода, последствий проникновения и взлома. Так вот, нередко "точкой входа" становятся именно подобные файлы с аналогичным кодом или его вариациями, забытые разработчиками сайта или оставленные намеренно с какой-либо целью. Если пользуетесь таким лайфхаком - не забывайте "прибирать" за собой.