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

Discussion in 'PHP' started by Foster, 19 Oct 2007.

  1. Foster

    Foster Elder - Старейшина

    Joined:
    14 Jul 2005
    Messages:
    80
    Likes Received:
    9
    Reputations:
    2
    ай нид ю хелп :) нужно сконфигурировать файл .htaccess так, что бы с каждого айпи можно было соеденится с сервером только определенное кол-во раз, в определенный интервал времени. Например разрешить делать в минуту 30 конектов к серверу. Заранее спасибо!

    И езё вопрос, немного не в тему. Видел что кто-то выкладывал сплойт под оперу, позволяющий загружать и запускать файл на атакуемой машине, только ссылку не могу найти =\
     
    #1 Foster, 19 Oct 2007
    Last edited: 19 Oct 2007
  2. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    823
    Reputations:
    1,418
    ?
    KeepAlive On
    #кол-во
    MaxKeepAliveRequests 30
    #время между соединениями в секундах
    KeepAliveTimeout 1

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

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    401
    Likes Received:
    153
    Reputations:
    80
    как вариант парсь вывод нетстата и делай правила для айпитаблеса) но лучше запрещай айпишки в штаксессе, т.к. фаеры обычно рестарта требуют
     
  4. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    KeepAliveRequests - это технология, позволяющая отправлять несколько запросов/получать на них ответы без разрыва tcp/ip соединения.

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

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

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

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

    Nova Green member

    Joined:
    15 Jul 2005
    Messages:
    1,234
    Likes Received:
    418
    Reputations:
    280
    Средствами apache делать не вариант так как именно он будет дэнайть лишние запросы а это всёже нагрузка.

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