PDA

Просмотр полной версии : Ограничение кол-ва запросов к серверу в интервал времени с помощью .htaccess


Foster
19.10.2007, 21:32
ай нид ю хелп :) нужно сконфигурировать файл .htaccess так, что бы с каждого айпи можно было соеденится с сервером только определенное кол-во раз, в определенный интервал времени. Например разрешить делать в минуту 30 конектов к серверу. Заранее спасибо!

И езё вопрос, немного не в тему. Видел что кто-то выкладывал сплойт под оперу, позволяющий загружать и запускать файл на атакуемой машине, только ссылку не могу найти =\

blackybr
19.10.2007, 21:56
?
KeepAlive On
#кол-во
MaxKeepAliveRequests 30
#время между соединениями в секундах
KeepAliveTimeout 1

прописывается в хттпд конф, немного не то что тебе надо.
вообще не уверен что можно чисто с помощью хтакцеса разрешать доступ. как вариант инклудить пхп скрипт в каждый из существующих, который бы вел базу айпишников. если клиент совершил 30 конектов, то на минуту его кидаем в .htaccess как disallow

Talisman
19.10.2007, 22:15
как вариант парсь вывод нетстата и делай правила для айпитаблеса) но лучше запрещай айпишки в штаксессе, т.к. фаеры обычно рестарта требуют

Helios
19.10.2007, 22:45
?
KeepAlive On
#кол-во
MaxKeepAliveRequests 30
#время между соединениями в секундах
KeepAliveTimeout 1

прописывается в хттпд конф, немного не то что тебе надо.
вообще не уверен что можно чисто с помощью хтакцеса разрешать доступ. как вариант инклудить пхп скрипт в каждый из существующих, который бы вел базу айпишников. если клиент совершил 30 конектов, то на минуту его кидаем в .htaccess как disallow
KeepAliveRequests - это технология, позволяющая отправлять несколько запросов/получать на них ответы без разрыва tcp/ip соединения.

Соответственно:
KeepAlive On - разрешение использования KeepAliveRequests
MaxKeepAliveRequests 30 - максимальное количество запросов, которые будут обработаны с одного соединения до его закрытия
KeepAliveTimeout 1 - минимальный таймаут между передачей ответа клиенту и принятием нового запроса от него

Ограничивать таким образом количество запросов к одному конкретному виртхосту невозможно в принципе.

Насколько знаю, стандартными средствами Apache без применения сторонних модулей это сделать нереально.

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

Nova
21.10.2007, 22:03
Средствами apache делать не вариант так как именно он будет дэнайть лишние запросы а это всёже нагрузка.

Рекомендую делать средствами ipfw или iptables (фаервола кароче)