Назад | Перейти на главную страницу

Блокировка посетителей моего сайта за пределами Великобритании

Я хочу заблокировать всех посетителей моего веб-сайта за пределами Великобритании, кто-нибудь знает, как мне этого добиться?

Я думаю, мне нужен файл .htaccess со всеми IP-адресами, перечисленными рядом с командой deny, но как мне найти обновленный список разрешенных IP-адресов Великобритании.

Причина в том, чтобы попытаться уменьшить количество спама на моем веб-сайте.

Спасибо за вашу помощь

Взгляните на базы данных GeoIP.

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

Взгляните на УДАЛИТЬ список от Spamhaus. Он содержит все сети, принадлежащие спамеру. Я использую список в своих правилах брандмауэра и уменьшил количество спама примерно на 98% в размещенных блогах.

На ум приходят два решения.

Если ваш веб-сайт динамический, вы можете проверять в каждом запросе страну, связанную с IP посетителя, используя, например, базу данных Maxmind GeoIP (http://www.maxmind.com/app/geolitecountry), если пользователь не из Великобритании, просто покажите 404 или что хотите.

Другое решение - разрешить доступ к веб-сайту только пользователям из определенного диапазона IP-адресов. Вам необходимо получить диапазоны ip для uk, а затем добавить их в директиву allow в файле .htaccess. Диапазоны можно получить здесь (http://www.ipaddresslocation.org/ip_ranges/get_ranges.php)

То, что вы хотите сделать, обычно называется геолокация.

Этот вопрос на StackOverflow есть несколько полезных ответов.

Не уверен, что геолокация - это полное решение, и вы не должны блокировать доступ с помощью .htaccess

Тот факт, что кто-то публикует спам в вашей системе, означает, что у вас там работает какой-то собственный код - и, как ни странно, нет простого способа выполнять эффективный поиск непосредственно из файла .htaccess.

Конечно, использование геолокации может помочь, но вам нужно только контролировать доступ к той части функциональности, которая позволяет публиковать контент. Есть бесплатная база данных, вы можете запустить локальную копию доступна здесь.

Если бы это был я, я бы использовал это как часть системы подсчета очков, включая

1) Самомодерируемые сообщения - от пользователя требуется указать адрес электронной почты - когда они публикуют, не публиковать, пока они не нажмут на ссылку, которую вы им отправили по электронной почте

2) модерация администратора - возможно, у вас нет времени модерировать каждое сообщение - но как насчет проверки первых N сообщений от конкретного пользователя?

3) используйте spamassassin для идентификации спам сообщения (NB, чем больше сообщений со спамом вы сможете зафиксировать (но, очевидно, не опубликовать), тем лучше это будет работать)