В последнее время все чаще не отрабатывает стандартный скрипт авторизации под админом:
<? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
global $USER;
$USER->Authorize(1);
@unlink(__FILE__);
LocalRedirect("/bitrix/admin/");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>А доступ к админке восстановить необходимо. Если остался доступ к сервер по SSH, мы можем сменить пароль у админа через консольную mysql, но это не удобно да и не каждый сможет. Учитывая, что пароль хранится в захешированном виде + bitrix используется не просто md5, а добавляет к нему так называемую «соль» — $salt = Random::getString(16, true);.
1 вариант: Метод Password::hash используется для хеширования пароля пользователя.
// Bitrix\Main\Security\Password::hash()
// /bitrix/modules/main/lib/security/password.php:82
public static function hash($password, $salt = null): string
{
if(CRYPT_SHA512 == 1)
{
//new SHA-512 method
if($salt === null)
{
$salt = Random::getString(16, true);
}
//by default rounds=5000
return crypt($password, '$6$'.$salt.'$');
}
else
{
//old md5 method
if($salt === null)
{
$salt = Random::getStringByAlphabet(8, Random::ALPHABET_ALL);
}
return $salt.md5($salt.$password);
}
}Можно использовать его, затем полученный хеш подставить в колонку «PASSWORD» у необходимого пользователя в таблице b_user.
Для удобного доступа к таблицам БД пользователи хостинга могут использовать PHPmyadmin, на сервере с BitrixVM по умолчанию веб-морда для работы с БД не установлена. В качестве альтернативы можно использовать небольшой скрипт, под названием Adminer, его можно загрузить в корневую директорию сайта и затем открыть страницу в браузере, например «mysite.com/adminer.php». Данные для подключения к БД можно взять из файла DBconn.php в папке /bitrix/php_interface/.
2 вариант: Использовать API bitrix framework:
$user = new CUser;
$ID = '1';
$arFields = [
"PASSWORD" => "qwerty321!Bx",
"CONFIRM_PASSWORD" => "qwerty321!Bx",
];
$user->Update($ID, $arFields);
$strError .= $user->LAST_ERROR;
echo $strError;Достаточно создать в корневой директории скрипт, поместив в него код, предложенный выше, предварительно заменив идентификатор пользователя и пароль на свои. Затем необходимо открыть скрипт в браузере.