Как бы отсечь украинский трафик

Статус
В этой теме нельзя размещать новые ответы.

laszlo

Постоялец
Регистрация
16 Фев 2008
Сообщения
74
Реакции
39
Вобщем мне надо перенаправить украинский траф

ТДС не подходят из-за перезагруженности сервера ну и еще по некоторым причинам
Все что связано с доп нагрузкой на мускул - тоже - это я про гео
Придумал примерно такое решение - по языку браузера

если в substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,5)
присутствует к примеру ru
уходим на ру вариант

А как вот отсечь украинцев,
UA?
Или еще есть варианты, типа ua_UA и тп...

Код:
$lang=substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,5);
if ((substr_count($lang,"ua")==0) or (substr_count($lang,"UA")==0))
{
echo "Goditsa";
}
Хотя, наверное, этого будет достаточно..
 
Лучше и надежнее по IP ибо HTTP_ACCEPT_LANGUAGE могут пользователи и ru подставит а IP уж не поменяешь, если только не через анонимные прокси.
В интернете есть свободные (бесплатные) базы IP адресов стран и городов, можно её заюзать без проблем.
 
geoIP вообще-то мускул не дергает. В самой-самой стандартной поставке у тебя будет geoip.dat размером аж 1 мегабайт. Который после первого же обращения целиком ляжет в кеш и будет работать вообще не трогая винт.

Если ты все же боишься, что когда-нибудь он нет-нет да и выгрузится из кеша - выдели память вручную. Через shmem, через memcached, через как хочешь. 1 мегабайт - это слезы. Повозиться конечно придется, но не так чтоб очень. Зато потом у тебя вообще будет фактически бинарный поиск по массиву - это очень быстро и совсем без накладных расходов. И мускул свободен.

И перед тем как рассказывать про высоконагруженность сервера, возьми и замерь, сколько раз в секунду выполняется geoip_country_code_by_addr(). В стандартной поставке, без всяких "ускорителей".
 
Ну вот через сервис Для просмотра ссылки Войди или Зарегистрируйся можно вообще заблочить, или бери оттуда маски украинские и создавай правила для htacces переадресации

Бегло как-то так будет
RewriteCond %{remote_addr} 62.64.64.0/18 [OR]
RewriteCond %{remote_addr} 62.80.160.0/19 [OR]
.... другие укр маски
RewriteRule ^/$ /ukr.html
 
блокировать юзеров или еще что либо с ними делать в зависимости от языка в настройках браузера не лучшее решение, к примеру я всегда ставлю английские версии программ потому что меня бесит русский перевод, то есть я к примеру если был бы сейчас в Киеве и с ноута пришел на твой сайт, ты бы меня выкинул


качай бесплатный GeoIP Для просмотра ссылки Войди или Зарегистрируйся тут примеры как использовать саму базу Для просмотра ссылки Войди или Зарегистрируйся насчет производительности смотри тут Для просмотра ссылки Войди или Зарегистрируйся
 
  • Заблокирован
  • #6
блокировать юзеров или еще что либо с ними делать в зависимости от языка в настройках браузера не лучшее решение, к примеру я всегда ставлю английские версии программ потому что меня бесит русский перевод, то есть я к примеру если был бы сейчас в Киеве и с ноута пришел на твой сайт, ты бы меня выкинул
качай бесплатный GeoIP Для просмотра ссылки Войди или Зарегистрируйся тут примеры как использовать саму базу Для просмотра ссылки Войди или Зарегистрируйся насчет производительности смотри тут Для просмотра ссылки Войди или Зарегистрируйся


сам таким способом отсекал весь траф кроме русского очень производительная штука, базы на шару регулярно обновляют
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху