讓APACHE防止多線程下載
[作者: sane@nsfocus.com ]
mod_limitipconn.c是一個非官方的apache模塊,可以用來作為WEB文件的下載限制
,但是它是使用ExtendedStatus On形式,工作在應用層。當同一個IP的連接到達
限制的時候,apache對get請求發送:
HTTP/1.1 503 Service Temporarily Unavailable
從而使用戶不能下載,但并不能阻止這種攻擊,仍舊允許連接的。不過這個東東對
網管來說還是很有用的,特別是下載站的網管。簡單介紹一下安裝(動態模塊方式
安裝,假設你的apache已經裝在/usr/local/apache目錄下):
下載:http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
# tar xzf mod_limitipconn-0.04.tar.gz
# cd mod_limitipconn-0.04
# vi Makefile
把第一行的:
APXS = apxs
改為
APXS = /usr/local/apache/bin/apxs
然后:
# make
# make install
修改apache配置文件:
# vi /usr/local/apache/conf/httpd.conf
ExtendedStatus On ###make install時這句前面的#沒有去掉,一定要去掉
###make install已經加了下面兩句,確認存在就行了
LoadModule limitipconn_module libexec/mod_limitipconn.so
AddModule mod_limitipconn.c
###下面就是對web目錄下的文件下載限制
MaxConnPerIP 3 ###限制web根目錄同一個IP只能同時開3進程下載
# 還有其它選項,如:
# NoIPLimit image/*
# OnlyIPLimit audio/mpeg video
# 可以設置多個Location
重啟apache,用多線程的下載工具下載時,大于3個線程,其余的將得到信息:
HTTP/1.1 503 Service Temporarily Unavailable
或者根據User_Agent判斷,把已知的多線程工具都給deny 掉
in httpd.conf
.....
BrowserMatch "NetAnt" badguy
BrowserMatch "GetRight" badguy
BrowserMatch "JetCar" badguy
BrowserMatch "Mass Downloader" badguy
BrowserMatch "ReGet" badguy
BrowserMatch "DLExpert" badguy
BrowserMatch "FlashGet" badguy
BrowserMatch "Offline Explorer" badguy
BrowserMatch "Teleport" badguy
...........
order deny,allow
deny from env=badguy
allow from all
注意httpd里面應該有 mod_setenvif模塊。
posted on 2006-04-21 16:43 狼愛上貍 閱讀(213) 評論(0) 編輯 收藏 所屬分類: JAVA