Как заблокировать пользователей в зависимости от страны, используя.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 файлы, где вам нужно

Другие вопросы по тегам