Как починить авторизацию, которая начала постоянно слетать после обновления Битрикс

Как починить авторизацию, которая начала постоянно слетать после обновления Битрикс

Александр Гусев Обновлено: 19 июня 2023 16884 просмотра

После очередного обновления Битрикса в ноябре 2020 г. пользователи сталкиваются со «слётом» авторизации практически сразу после ввода пароля, то есть их разлогинивает сразу после авторизации.

Изменения, повлиявшие на это, описаны в статье https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=103&LESSON_ID=20670

Проблема с задвоением PHPSESSID (идентификатор сессии php появлялся в cookies браузера дважды) серьёзна, так как у простых посетителей задача «выполнить очистку cookies в браузере» вызовет ступор, а без этого они не смогут нормально авторизоваться.

Поэтому надо инициировать удаление лишних данных из cookie со стороны сервера, для этого впишите куда-нибудь в файл /bitrix/php_interface/dbconn.php (заменив www.site.ru из примера на свой домен):

  • Если вы не используете многосайтовость, а поле «Доменное имя» было до ноябрьского обновления заполнено, и после вы его очистили (как рекомендует статья), то надо удалить куку с точкой в начале
  • setcookie("PHPSESSID", "", 777, "/", ".www.site.ru");
  • Если вы используете многосайтовосить или решили не очищать поле «Доменное имя», тогда надо удалить куку без точки — впишите (строго без какого-либо имени домена):
  • setcookie("PHPSESSID", "", 777, "/");
    Если вам пришла идея переопределить название идентификатора «PHPSESSID» на уровне настроек PHP, что бы обойти проблему — это плохая идея, которая вызовет трудноотлавливаемые проблемы.

    Надеюсь, эта статья помогла решить вашу проблему!



    Комментарии


    Авторизуйтесь через соц.сеть и оставьте комментарий

    Возврат к списку