Восстановление доступа к администраторской панели Битрикс24 (коробка) и 1С-Битрикс

29 мая 2024
BXmeta

Многие пользователи коробочных решений 1С-Битрикс и Битрикс24 забывают о стандартном функционале восстановления пароля. Казалось бы, очевидное решение, но им часто пренебрегают.

Если вы забыли пароль и не можете войти в администраторскую панель, начните с проверки стандартного функционала восстановления пароля, расположенного на странице авторизации: ваш_сайт/bitrix/admin/index.php#forgot_password.

Если это не помогает, не стоит паниковать! В нашей статье мы предложим альтернативное решение — специальный скрипт, который позволит вам авторизоваться под администратором. После этого вы сможете легко сменить пароль для нужной учетной записи и вернуть полный контроль над вашим сайтом.

Решение

C помощью ftp клиента или панели управления хостингом создаем файл в корне сайта с именем a.php и содержимым:

Для 1С-Битрикс

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
global $USER;
//получаем первого активного админа и авторизовываемся под его учеткой
$rs = $USER->GetList(($by="ID"), ($order="DESC"), ["GROUPS_ID" => [1], 'ACTIVE' => 'Y']);
if($arUser = $rs->Fetch()) {
    $USER->Authorize($arUser['ID']);
    @unlink(__FILE__);
    LocalRedirect('/bitrix/');
}

Для Битрикс24 коробочная версия

<?php
// Переопределяем права доступа
$accessFile = '.access.php';

if (file_exists($accessFile)) {
    $originalAccessFileData = file_get_contents($accessFile);

    if ($originalAccessFileData === false) {
        die("Ошибка чтения файла прав доступа.");
    }

    $newAccessFileData = str_replace('"D";', '"R";', $originalAccessFileData);

    if (file_put_contents($accessFile, $newAccessFileData) === false) {
        die("Ошибка записи в файл прав доступа.");
    }
} else {
    die("Файл прав доступа не найден.");
}

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

if (file_put_contents($accessFile, $originalAccessFileData) === false) {
    die("Ошибка восстановления файла прав доступа.");
}

global $USER;

$rs = $USER->GetList(($by = "ID"), ($order = "DESC"), ["GROUPS_ID" => [1], 'ACTIVE' => 'Y']);
if ($arUser = $rs->Fetch()) {
    $USER->Authorize($arUser['ID']);
    @unlink(__FILE__);
    LocalRedirect('/bitrix/');
} else {
    die("Не найден активный администратор.");
}
Переходим по адресу ваш_сайт/a.php
Теперь вы авторизованы под администратором сайта и можете установить свой пароль для учетной записи.