Ограничение количества поступающих запросов от 1-го IP

untied

Сдвинутый новичок
Собственно вопрос не в том, как это сделать, а вопрос в плане цифр.
Хотим отсечь школьников-досеров с помощью ограничения количества поступающих запросов на сайт с одного IP. Если кто-нибудь сталкивался с подобной задачей, то прошу поделиться цифрой: какое кол-во запросов с одного IP можно считать допустимым (например, 200/мин. -- нормально, 600/мин. -- уже перебор).
Ну, естественно, все зависит от кол-ва картинок на странице, скриптов, ajax-соединений и пр. Но какие-нибудь средние цифры все-таки должны быть...
Да, и еще ведь надо прокси-серверы иметь в виду.
 

Krishna

Продался Java
1. Ограничить прежде всего надо количество одновременных соединений, на фаерволе.
2. В плюс к этому я бы ограничил динамические запросы десятком-другим в секунду, тогда о количестве картинок и париться не пришлось бы.
 

Sender

Новичок
Если nginx, то советую посмотреть в сторону http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html

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

SiZE

Новичок
Зависит например от количества ajax запросов со страницы. В целом думаю 10 запросов в секунду достаточно.
 

pilot911

Новичок
а можно перенаправлять на статическую страницу через этот модуль нжинкса по достижении лимита, как это сделано вконтакте?
 

Sender

Новичок
а можно перенаправлять на статическую страницу через этот модуль нжинкса по достижении лимита, как это сделано вконтакте?
Там 503 отдается, можно перехватить через errors_page. Вот здесь обсуждение аналогичного вопроса: http://forum.nginx.org/read.php?21,189386,189386

Отделить 503 от бекенда от 503-ей от limit_conn - можно анализируя
значение в $upstream_status (если там 503 - значит от бекенда).
Но делать это в конфиге на if'ах - будут ужасненько, я бы не
рекомендовал без крайней нужды.
 
Сверху