blank

Почему не пускает в админку 1С-Битрикс?

Почему не пускает в админку битрикс

Проблема

При попытке зайти в админку 1С-Битрикс (site.ru/bitrix) страница обновляется. Логин/пароль вводим верные, но войти не получается, страница обновляется, введенные авторизационные данные сбрасывает.

Однако, если при попытке входа (в всплывашке браузера) нажать «Запомнить меня», войти все же удается и тут обнаруживается вторая проблема — нет возможности загрузить картинки в элементы инфоблоков, выдает ошибку «Bad sessid».

Диагностика, часть 1

Кейса бы не случилось, если бы все было так, как предполагалось изначально. Проблема со входом, да и загрузкой файлов в 99% случаев возникает, если не хватает места на хостинге. Однако, не наш случай. Объем дискового пространства мы мониторим, тут, конечно, проверили на всякий случай — места на хостинге достаточно. Пришлось обратиться к ошибке «Bad sessid», для устранения которой есть несколько вариантов.

Промежуточное решение

Для устранения ошибки «Bad sessid» рекомендуется поменять хранение сессии в /bitrix/.settings.php, с чего мы и начали. Однако, проблему это не решило. Еще одна рекомендация — в файле .settings.php поменять тип хранения с database на file или иные варианты. Попробовали — не помогло. Безуспешные попытки решить проблему помогли лишь прийти к выводу, что она кроется не в повреждении таблицы в БД, а также не в самом типе хранения. Заодно проверили сайт на признаки взлома, мало ли что... Признаков взлома не обнаружили.

Диагностика, часть 2

Так как предыдущие попытки устранить проблему не увенчались успехом, диагностику мы продолжили, что и позволило обнаружить еще одну проблему — внезапное завершение сессии администратора при попытке авторизоваться под другим пользователем или при попытке перехода на другую страницу, причем авторизовавшийся пользователь получал права ранее залогинившегося администратора. Это привело к мыслям, что есть вторая сессия, что удалось подтвердить благодаря просмотру логов.

Решение

Проще, чем казалось, на самом деле.

  • 01 Заходим: «Администрирование > Настройки > Настройки продукта > Сайты > Список сайтов»
  • 02 При условии, что сайт у вас один — переходим в раздел с вашим сайтом, находим поле «Доменное имя», там будет указан его адрес: site.ru.
  • 03 Удаляем его.
  • 04 Возвращаемся на страницу авторизации, очищаем cookie браузера — готово!

Итог

Несмотря на то, что в большинстве случаев симптомы указывают на недостаток места на хостинге, иногда причина может быть в другом. На данный момент, мы знаем, что диагностировать проблему можно и проще. Для этого при авторизации нужно посмотреть хранимые cookie и если вы там видите две записи PHPSESSID, одну site.ru, а второй .site.ru, то вы столкнулись с редким случаем, описанным выше. Кстати, на сайте 1С-Битрикс есть описание решения проблемы с «многосайтовостью», его можно найти по ссылке. Вот только к чему эта проблема еще может привести — не описано.

Другие кейсы

case
Почему мы заменили fail2ban на CrowdSec и как это поможет при DDoS-атаках
Подробнее
case
Уязвимость модуля «vote» в CMS 1С-Битрикс
Подробнее
Задавайте вопросы и заказывайте техническую поддержку сайта
Телеграмм ITSOFT