Решение: Битрикс - слетает сессия при использовании сервиса cloudflare

108 0 29 Октября 2018, 17:33

У одного из наших клиентов при использовании сервиса - защиты от DDOS атак, cloudflare возник баг - сессия постоянно слетала и любому пользователю, при каждом обновлении страницы приходилось вводить пароль заново.

bitrix - слетает сессия cloudflare

Причем, админка работала более менее нормально, а в публичной части постоянно авторизация слетает. Неудобства для клиента, для контенщиков - невозмодно править элементы в режиме правки. В консоли браузера было видно, что при каждом обновлении меняется сессия юзера.

Проблема кроется в том, что после подключения к сервису cloudflare, в переменную $_SERVER['REMOTE_ADDR'], которая должна содержать IP пользователя, передается IP cloudflare. Реальный же IP пользователя будет содержаться в переменной $_SERVER['HTTP_CF_CONNECTING_IP']. Поэтому необходимо подменить переменную REMOTE_ADDR на HTTP_CF_CONNECTING_IP.

Итак, решение:

Открываем файл dbconn.php. Путь к папке /bitrix/php_interface/dbconn.php. В конец файла добавляем:

$_SERVER["REMOTE_ADDR"] = $_SERVER['HTTP_CF_CONNECTING_IP'];

Битрикс - слетает сессия при использовании сервиса cloudflare

Готово. Переменная REMOTE_ADDR будет содержать реальный IP пользователя и авторизация bitrix будет работать без проблем.

Теги:

Битрикс

BITRIX

cloudflare

сессии

авторизация

Другие статьи
Комментарии
Комментировать