Bitrix Cloudflare вылетает сессия. При установке и настройке Cloudflare столкнулся со странной работой Битрикс. В любой рандомный промежуток времени (хоть 5 секунд, хоть 5 минут) - выбрасывает из админпанели. Т.е. слетает сеанс работы с сайтом Bitrix. В итоге приходится авторизовываться заново, до следующего раза когда что-то нажал в админке и снова выбросило.
Ваш сеанс работы с сайтом завершен из-за отсутствия активности в течение 24 мин. Введенные на странице данные не будут сохранены. Скопируйте их перед тем, как закроете или обновите страницу.
Проблема заключается даже не в самом Cloudflare, а в особенностях конкретно вашего хостинга. Где-то настроен проброс, и хостинг видит реальные айпи посетителей (и пишет их в логи сервера), а где-то вместо этого в логах вы найдете только список айпи самого Cloudflare.
Вот здесь и заключается корень проблемы, которая возникает в Битрикс. Он требует ваш реальный айпи, а видит не ваш айпишник, а IP адрес Cloudflare. И когда вы в следующий раз нажмете на какую-то ссылку в административной панели, запрос от клауда придет не с того IP, под которым вы авторизовывались, а от любого другого айпи клауда. А вас, соответственно, - сразу выбросит из админпанели Bitrix.
Проблема кроется в том, что после подключения к сервису cloudflare, в переменную $_SERVER['REMOTE_ADDR'], которая должна содержать IP пользователя, передается IP cloudflare. Реальный же IP пользователя будет содержаться в переменной $_SERVER['HTTP_CF_CONNECTING_IP']. Поэтому необходимо подменить переменную REMOTE_ADDR на HTTP_CF_CONNECTING_IP.
Итак, решение проблемы с сессиями Bitrix:
Открываем файл dbconn.php. Путь к папке /bitrix/php_interface/dbconn.php. В конец файла добавляем:
Чтобы скопировать код в буфер обмена, нажмите на квадратики справа вверху в блоке кода.
1 |
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; |
В итоге этот файл у вас будет выглядеть как-то вот так.
Чтобы скопировать код в буфер обмена, нажмите на квадратики справа вверху в блоке кода.
1 2 3 4 5 6 7 8 9 |
define("BX_UTF", true); define("BX_FILE_PERMISSIONS", 0664); define("BX_DIR_PERMISSIONS", 0775); @umask(~BX_DIR_PERMISSIONS); define("BX_DISABLE_INDEX_PAGE", true); define("BX_UTF", true); define( "BX_COMPOSITE_DEBUG", true ); $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; ?> |
Также в рекомендациях было добавить еще вот такой код.
Чтобы скопировать код в буфер обмена, нажмите на квадратики справа вверху в блоке кода.
1 2 |
$_SERVER["REMOTE_ADDR"] = $_SERVER; $_SERVER["HTTP_X_REAL_IP"] = $_SERVER; |
Готово. Переменная REMOTE_ADDR будет содержать реальный IP пользователя, и авторизация Bitrix будет работать без проблем.
Функцию фильтрации ботов Cloudflare может на себя взять российский антибот Killbot. Вот к нему у РКН точно претензий нет, сервера компании находятся в РФ. Принцип работы отличается от привычного, отслеживаются не знакомые всем при настройке Cloudflare параметры (входящие IP адреса, AS подсети ботов, User Agent и прочее), а уникальные для каждого набора браузеров слепки. По отличию оригинального браузера от модифицированного, тот или иной заход определяется либо как заход реального посетителя, либо как заход бота. Чтобы не повторяться - расписывал более подробно в статье Альтернатива Cloudflare в России.
Подпишитесь на Telegram канал для того, чтобы всегда быть в курсе последних новостей и обновленных настроек для защиты от ботов через Cloudflare, а также оперативно получать новые материалы, выходящие на antiddos24.ru
Всегда нужно иметь в виду, что те советы, которые вы прочли в статьях на сайте antiddos24.ru - это лишь часть настроек, которые я делаю при профессиональной экспертной настройке фильтрации поведенческих ботов. Все остальное - это непубличные профессиональные секреты. Любая информация, становящаяся общедоступной - достаточно быстро устаревает и перестает быть эффективной.
Если вы столкнулись с повышенной ботностью в Яндекс метрике, увеличением числа прямых заходов, увеличением количества отказов - вы всегда можете заказать у меня настройку Cloudflare или Killbot.