Как я могу заблокировать все неамериканские IP-адреса от доступа к моему веб-сайту? - PullRequest
5 голосов
/ 21 октября 2009

Я хочу заблокировать доступ всех пользователей за пределами США к моему веб-сайту. Я использую nginx на внешнем интерфейсе и у меня есть веб-сайт с поддержкой django.

1) Как определить IP-адреса в США?

2) Должен ли я блокировать их на своем веб-сервере или на уровне приложений?

Ответы [ 2 ]

5 голосов
/ 21 октября 2009

Вам нужен GEO location провайдер.

Некоторые бесплатны, некоторые онлайн-чеки, другие дают вам список или библиотеку.
Как правило, чем выше точность, тем больше вы платите за нее.

Существует предел того, насколько точно вы можете сделать это. Трафик некоторых небольших стран может направляться через США или их серверы имен, размещенные в США. Как правило, вы не должны получать слишком много ложных срабатываний для клиентов из США.

4 голосов
/ 21 октября 2009

Я использовал mod_geoip и обнаружил, что он в значительной степени, но не полностью эффективен. Точность базы данных ИС / страны является одной из проблем, так как она постоянно обновляется. Я также обнаружил, что, хотя это помогло смягчить некоторые спам в комментариях и запросы типа DDOS, поступающие из частей мира, не имеющих отношения к содержанию нашего сайта, оно также имело некоторые непреднамеренные последствия. Например, были люди, которые пытались обновить свои списки сайтов, находясь в отпуске за границей, которые были заблокированы. http://www.maxmind.com/app/mod_geoip

...