Авторизация в админке без пароля

Иногда возникают ситуации, когда нет пароля от учетной записи администратора, но есть ftp. В этом случае можно использовать простенький скрипт, который авторизует пользователя и удаляет себя, для исключения потенциальных дыр в безопасности.

<?php
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php'); 
global $USER; 
$USER->Authorize(1); 
@unlink(__FILE__); 
LocalRedirect('/bitrix/admin/'); 
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/footer.php');
?> 

В строке $USER->Authorize(1); где цифра 1 — это ID пользователя, под которым выполняем авторизацию.

Однако, если закрыта публичная часть сайта , скрипт не выполнится и в админку вы не попадете.

Чтобы выкрутиться из сложившейся ситуации нужно разместить в файле /bitrix/php_interface/init.php (при отсутствии файла его нужно создать) следующий код:

use Bitrix\Main\Config\Option;
COption::SetOptionString('main', 'stop_site', 'N');
COption::SetOptionString('main', 'site_stopped', 'N');

После авторизации под админом не забываем убрать данный код с файла 🙂