Блокировка пользователей на сайте по местоположению?

Привет всем.

Вот поставили передо мной такую задачу:

Нужно чтобы из одной определенной страны не было доступа к сайту.

Например из индии.


Можно блокировать по маске ip, но это как то не айс.

Можно приделать геолокацию.


У кого какие еще идеи?
  • Вопрос задан
  • 3556 просмотров
Пригласить эксперта
Ответы на вопрос 8
Расскажу на примере nginx, в любом случае если вы его не используете еще — самое время начать )
есть модуль ngx_http_geo_module, вн включен по умолчанию (не путать с ngx_http_geoip_module). Этот модуль умеет сверять IP посетителя с масками и присваивать переменной код страны. Для его работы нужна бесплатная база GeoIP City Free, качается с сайта maxmind в формате csv и perl-скриптом который поставляется с исходниками nginx преобразуется в формата конфига nginx — скажем geo.conf
В конфиг добавляем:
geo $country {
include geo.conf;
}

if ($country = «cn» ) {
return 403;
}

этот пример запрещает доступ из китая
Ответ написан
rasa
@rasa
ФСБ Индии детектед!
Ответ написан
Комментировать
lasthero
@lasthero
Я использовал geoip на сайте. И отдавал разным странам сайт в нужном языке + дополнительные фичи.
Ответ написан
serverside
@serverside
Что значит «не айс»? Вариантов-то всего три, и блокировка по ip самая точная.
Можно еще по имени домена первого уровня (deny from .in) или по языку в браузере. Но это как раз совсем не айс. Наверняка в Индии все провайдеры на .com и .net сидят, а язык у большинства английский стоит.

А, ну еще можно у посетителя спрашивать: «А вы, часом, не из Индии будете?» :)
Ответ написан
Комментировать
greengarlic
@greengarlic
помойму других спсобов нет
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
В ipfw их диапазоны загоняйте.
Ответ написан
uadeveloper
@uadeveloper
www.maxmind.com/ — бд по ip.
Да и гугл вам в помошь по запросу geoip
Ответ написан
Комментировать
ColorPrint
@ColorPrint
к.т.н., HighLoad, webhosting, domains registrar...
Модуль GeoIP.
И для апача, и для nginx есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы