Как я могу заблокировать все неамериканские IP-адреса от доступа к моему веб-сайту?
-
05-07-2019 - |
Вопрос
Я хочу заблокировать доступ всех пользователей за пределами США к моему веб-сайту. Я использую nginx на внешнем интерфейсе и у меня есть веб-сайт с поддержкой django. Р>
1) Как определить IP-адреса в США?
2) Должен ли я блокировать их на своем веб-сервере или на уровне приложений?
Решение
Я использовал mod_geoip и обнаружил, что он в значительной степени, но не полностью эффективен. Точность базы данных ИС / страны является одной из проблем, так как она постоянно обновляется. Я также обнаружил, что, хотя это помогло смягчить некоторые спам в комментариях и запросы типа DDOS, поступающие из частей мира, не имеющих отношения к содержанию нашего сайта, оно также имело некоторые непреднамеренные последствия. Например, были люди, которые пытались обновить свои списки сайтов, находясь в отпуске за границей, которые были заблокированы. http://www.maxmind.com/app/mod_geoip
Другие советы
Вам нужен поставщик геообъектов .
Некоторые из них бесплатны, некоторые - онлайн-чеки, некоторые предоставляют вам список или библиотеку.
Как правило, чем выше точность, тем больше вы платите за нее.
Существует предел того, насколько точно вы можете это сделать. Трафик некоторых небольших стран может направляться через США или их серверы имен, размещенные в США. Как правило, вы не должны получать слишком много ложных срабатываний для клиентов из США.