Как заблокировать пользователей в зависимости от страны, используя.htaccess и GeoIP?
Есть ли простой способ для тех из нас, кто использует shared-хостинг, блокировать посещение пользователей из определенных стран? Я знаю, что могу заблокировать определенные IP-адреса (включая длинные списки IP-адресов стран), но я бы предпочел использовать что-то вроде GeoIP ( http://freegeoip.net/); но я не уверен, как это можно реализовать в файле.htaccess?
Я понимаю, что это, вероятно, довольно простой вопрос, спасибо за чтение.
1 ответ
MaxMind предоставляет модуль Apache httpd 2.2+ для поиска в своей базе данных GeoLite2.
https://github.com/maxmind/mod_maxminddb
Они также предоставляют пример конфигурации для блокировки по стране
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE ^(RU|DE|FR) BlockCountry
Deny from env=BlockCountry
Вы могли бы использовать SetEnvIf
в основной конфиг, а затем Deny
в вашем .htaccess
файлы, где вам нужно