Как закрыть сайт от посетителей из конкретной страны?

Unlock
На сайте с 01.08.2004
Offline
757
6739

Сабж. Китайцы с Индусами достали, только email и контент собирают, толку от них никакого. Какие есть варианты закрыть доступ на сайт от них?

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
andrej-ilin
На сайте с 28.03.2005
Offline
42
#1

Тривиальная фильтрация по IP не подходит?

andrej-ilin@yandex.ru
Unlock
На сайте с 01.08.2004
Offline
757
#2

andrej-ilin, я думаю подойдет, но я в технических вопросах не очень хорошо разбираюсь. Два вопроса по сути, как определить все IP для конкретной страны и как потом закрыть доступ с этих IP. Закрыть для конкретных посетителей не проблема, а вот как закрыть сразу большой диапазон IP ?

K
На сайте с 31.01.2001
Offline
737
#3

Есть модуль для Apache mod_geoip. Или просто взять Geoip - базу адресов.

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
Unlock
На сайте с 01.08.2004
Offline
757
#4

Народ, спасибо за ответы, но просьба, либо дайте ссылку где можно почитать, либо немного подробнее что и как работает ;)

andrej-ilin
На сайте с 28.03.2005
Offline
42
#5

Вариантов ограничения доступа много, например, с помощью директивы deny файла .htaccess

Разрешение и запрет на просмотр сайта
Директива deny позволяет ограничить доступ к вашему сайту (или его подкаталогам) определенным пользователям. Директива allow наоборот разрешает доступ к сайту и его узлам. Приорететность запрета и разрешения определяются директивой order.
Если вам надо разрешить доступ к сайту почти всем пользователям за исключением нескольких, то надо писать Order allow, deny
Если наоборот, запретить доступ к сайту почти всем пользователям за исключением некоторых, то напишите Order deny, allow
Кому именно запрещен или разрешен доступ указывается конкретно:
Deny from адрес
где адрес - можно указать All - всем пользователям,
можно указать ip адрес (или несколько ip-адресов через пробел),
можно указать частичный ip-адрес (для определения подсети, с которой запрещен доступ),
можно указать имя домена (например, deny from .com)
Синтаксис для Allow аналогичен.
Директивы Order, Deny, Allow надо объединить в группу.
Записанное все вместе выглядит так:
< Limit GET/>
Order allow,deny
Deny from 195.13.12.9
Allow from All
Это означает, что доступ к директориям сайта разрешен для всех пользователей кроме пользователей с ip-адресом 195.13.12.9
Но можно запретить или разрешить доступ к сайту на основании существования или отсутствия переменной окружения. Это удобно при настройки страниц, заданных в соответствии с особенностями браузера.
Задается это так:
Allow from env=переменная окружения
или
Deny from env=переменная окружения

Подробнее смотрите здесь:

http://httpd.apache.org/docs/1.3/mod/mod_access.html#allow

Мой совет: если будете фильтовать посетителей, то сначала потренируйтесь на кошечках. Протестируйте хорошенько работу вашей системы ограничений - ошибки в таких вещах череваты серьезными неприятностями.

Unlock
На сайте с 01.08.2004
Offline
757
#6

C помощью директивы deny я знаю как ограничить доступ, но даже если найти список всех IP для конкретной страны, прописывать руками их все, это скорее теоретический вариант. Может кто еще подскажет варианты, наверняка есть решения такой задачи.

andrej-ilin
На сайте с 28.03.2005
Offline
42
#7

Unlock, с помощью директивы deny можно ограничить доступ не только по IP или группе IP. А что общего у этих посетителей? Откуда они лезут и куда, в смысле, по какому адресу/адресам?

Unlock
На сайте с 01.08.2004
Offline
757
#8

Необходимо закрыть доступ для посетителей из Китая и Индии, общего у них по сути ничего, в смысле только IP китайских и индийских сетей. Интересно, а по языковым установкам броузеров их можно отсекать?

Александр Тер-Арутюнов
На сайте с 12.04.2004
Offline
72
#9

я думаю можно подключиться к партнерке, которая платит за клики из Китая, а потом geoip_country, если есть на сервере ... а в htaccess что-то вроде:

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CN|IN)$ [NC]

RewriteRule .* http://partnerka.com [R,L]

коды "друзей" можно здесь посмотреть:

http://www.maxmind.com/app/iso3166

"Победы - не окончательны, поражения - не смертельны, вопрос в том - достанет ли воли продолжать" - Уинстон Черчиль

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий