Дополню ответ спустя 2 года
Как ограничить доступ к сайту по российским 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-адреса запрещён.');
}
} |