Re: Борьба с качалками

Ihalainen Nickolay ihanick на gmail.com
Пт Янв 15 13:49:51 MSK 2010


2010/1/15 Mykola S. Grechukh <nick.grechukh at gmail.com>:
> 15 января 2010 г. 12:12 пользователь Роман <> написал:
>> Интересуют методы борьбы с качалками типо teleport pro и подобных
>> Частично эта ситуация напоминает бой с ветряными мельницами, но все
>> же, что то делать надо )
>
> зачем с ними бороться?
Если они впадают в бесконечную рекурсию, то это сильная и лишняя
нагрзука на backendы.
Вы предлагается закупать дополнительные бекенды за реальные деньги
ради чьего-то бессмысленного развлечения?

Наилучший способ борьбы через код в приложении.
nginx помогает как layer7 фаервол:
идентификация пользователя с последующим return 403 в nginx может
происходить по:
ip, session cookie, user-agent, уникальных для данного пользователя
http_headers, попадания в 404 без реферера или с реферером главной, и
т.п.

итого, мы имеем /etc/nginx/block_rules/ откуда загружаем правила
утилиту для очистки старых ограничений.
а) кусок кода, который собирает статистику и подгружается на всех
страницах (возможно с определённой вероятностью скажем каждый 30
запрос)
б) агрегатор access.log
утилиту анализирующую статистику и создающую правила в /etc/nginx/block_rules/

Согласитесь, странно, если  с единственного ip из стримовских адресов
идёт много запросов на контент (у стрим нет NAT).
или, если суточные хиты оператора с NAT превышены пятикратно, а на
других NAT операторах такого эфекта не наблюдается.
разбан анонимных пользователей можно сделать автоматическим, если они
введут капчу и залогинятся.


Подробная информация о списке рассылки nginx-ru