После ноябрьского обновления Битрикс в 2020 году многие пользователи столкнулись с проблемой внезапного сбоя авторизации в административном разделе системы. Ситуация проявляется следующим образом - после ввода логина и пароля, вместо перехода в админку, происходит немедленный выход из системы и разлогинивание пользователя.
Причиной подобного поведения является изменение, внесенное разработчиками Битрикс и описанное в официальной документации https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=103&LESSON_ID=20670
Суть проблемы заключается в двойном присвоении идентификатора PHP-сессии (PHPSESSID) в браузерных cookie-файлах. Наличие двух одинаковых идентификаторов приводит к конфликту и невозможности корректной авторизации. Предложение очистить cookie-файлы является недопустимым решением для рядовых пользователей, неспособных выполнить данную операцию самостоятельно.
Для устранения сбоя авторизации необходимо внести изменения на стороне сервера для принудительного удаления избыточных данных из cookie-файлов. Для этого следует добавить соответствующий код в файл /bitrix/php_interface/dbconn.php:
Если на проекте не используется мультисайтинг, и до обновления было заполнено поле "Доменное имя", а после его очистки согласно рекомендациям, то требуется удалить cookie с точкой в начале:
setcookie("PHPSESSID", "", 777, "/", ".www.site.ru");
Замените "www.site.ru" на ваше доменное имя.
Если используется мультисайтинг или поле "Доменное имя" осталось заполненным, то необходимо удалить cookie без точки:
setcookie("PHPSESSID", "", 777, "/");
Попытка переопределить название идентификатора PHPSESSID на уровне настроек PHP является нерекомендуемым решением, которое может повлечь за собой возникновение труднодиагностируемых ошибок в работе системы.
После внесения указанных изменений проблема со сбоем авторизации в административной панели Битрикс должна быть успешно устранена.