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

StackOverflow https://stackoverflow.com/questions/1601109

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

Вам нужен поставщик геообъектов .

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top