让APACHE防止多线程下载
让APACHE防止多线程下载http://www.lelew.com/ 2004-05-10 13:05:14
下面是sane@nsfocus.com写的一些关于mod_limitipconn.c的文档,可以参考一下:
[作者:sane@nsfocus.com]
mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制
,但是它是使用ExtendedStatusOn形式,工作在应用层。当同一个IP的连接到达
限制的时候,apache对get请求发送:
HTTP/1.1503ServiceTemporarilyUnavailable
从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。不过这个东东对
网管来说还是很有用的,特别是下载站的网管。简单介绍一下安装(动态模块方式
安装,假设你的apache已经装在/usr/local/apache目录下):
下载:http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
#tarxzfmod_limitipconn-0.04.tar.gz
#cdmod_limitipconn-0.04
#viMakefile
把第一行的:
APXS=apxs
改为
APXS=/usr/local/apache/bin/apxs
然后:
#make
#makeinstall
修改apache配置文件:
#vi/usr/local/apache/conf/httpd.conf
ExtendedStatusOn###makeinstall时这句前面的#没有去掉,一定要去掉
###makeinstall已经加了下面两句,确认存在就行了
LoadModulelimitipconn_modulelibexec/mod_limitipconn.so
AddModulemod_limitipconn.c
###下面就是对web目录下的文件下载限制
<IfModulemod_limitipconn.c>
<Location/>
MaxConnPerIP3###限制web根目录同一个IP只能同时开3进程下载
#还有其它选项,如:
#NoIPLimitimage/*
#OnlyIPLimitaudio/mpegvideo
#可以设置多个Location
</Location>
</IfModule>
重启apache,用多线程的下载工具下载时,大于3个线程,其余的将得到信息:
HTTP/1.1503ServiceTemporarilyUnavailable
或者根据User_Agent判断,把已知的多线程工具都给deny掉
inhttpd.conf
.....
BrowserMatch"NetAnt"badguy
BrowserMatch"GetRight"badguy
BrowserMatch"JetCar"badguy
BrowserMatch"MassDownloader"badguy
BrowserMatch"ReGet"badguy
BrowserMatch"DLExpert"badguy
BrowserMatch"FlashGet"badguy
BrowserMatch"OfflineExplorer"badguy
BrowserMatch"Teleport"badguy
...........
<Directory/xxx/xxx/xxx>
orderdeny,allow
denyfromenv=badguy
allowfromall
</Directory>
注意httpd里面应该有mod_setenvif模块
页:
[1]