Как заблокировать доступ на сайт из определенной страны?

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Здравствуйте! Помогите разобраться. Пытаюсь заблокировать трафик из нескольких стран. Редакция бизнес, есть модуль веб аналитики с определение стран и айпи. Все что нашел в интернете это в /bitrix/php_interface/init.php (в моем случаии /bitrix/php_interface/s1/init.php) добавить код
Цитата
if (!in_array($_SESSION['SESS_COUNTRY_ID'], array('DE', 'KZ', 'UA', 'N0'))) { die('This site temporary unavailable.'); }
или
Цитата
AddEventHandler("main", "OnBeforeProlog", "MyOnBeforePrologHandler", 50);
public static function MyOnBeforePrologHandler() {
if (!in_array($_SESSION['SESS_COUNTRY_ID'], array('DE', 'KZ', 'UA', 'N0')))
{die('This site temporary unavailable.'); }
}
и пробовал добавлять session_start(); ну все равно не работает.
В чем может быть проблема ?
Скрин.
Да, это извечный и сложный вопрос.
Лично я блокирую по диапазонам IP cпомощью iptables на сервере
Может кто то может разъяснить еще один момент. Стоп лист в проактивной защите работает не корректно. То есть пользователь который находится в стоп листе по айпи может спокойно лазить по сайту, единственное не загружаются комментарии и если перейти в персональный раздел то только тогда ошибка 403 вылезает. Вопрос почему 403 нету при просмотре каталога и новостей ?
Дополню ответ спустя 2 года  :D
Как ограничить доступ к сайту по российским ip-адресам в 1C-Битрикс


Вообще лучше всего это сделать на уровне NGINX через модуль ngx_http_geoip2_module
Но если критично сделать на уровне Битрикса:

Сначала настраиваем модуль "Веб аналитика" прогружаем в него базу IP адресов по странам.
в /local/php_interface создаем файл init.php (если его еще нет) и добавляем в него
Код
AddEventHandler("main", "OnBeforeProlog", "MyOnBeforePrologHandler");
function MyOnBeforePrologHandler() {
    if (
        defined("ADMIN_SECTION") && ADMIN_SECTION == true
        && strpos($APPLICATION->GetCurPage(), "bitrix/admin") !== false
        && strpos($APPLICATION->GetCurPage(), "bitrix/admin/geoip_handler.php") !== false
    ) {
        return;
    }

    if (isset($_SESSION['SESS_COUNTRY_ID']) && $_SESSION['SESS_COUNTRY_ID'] !== 'RU') {
        header('HTTP/1.0 403 Forbidden');
        die('Доступ с вашего IP-адреса запрещён.');
    }
} 
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Стоимость разработки на 1С-Битрикс:

Индивидуальная разработка магазина

от 450 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Интернет-магазин на готовом решении

от 100 000 руб. от 7-ми дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Мобильное приложение

от 450 000 руб. от 5-ти недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 250 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Инфоресурс

от 250 000 руб. от 4-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

3D‑моделирование, визуализация

от 25 000 руб. от 3-х дней

По вашим фото, чертежам или описанию создадим 3D‑модели и отрендерим набор изображений для каталога товаров: общий вид, крупные планы и технические ракурсы или 360°‑обзор товара.