您的位置:首页-> 资讯中心-> PHP技术-> PHP-> 让APACHE防止多线程下载

PHP

PHP

本类阅读TOP10

·freebsd+apache+mysql+php+phpmyadmin+zend+discuz傻瓜式教程
·推荐Java学习书籍
·(转) 新版Apache+php+MySQL安装指南 Crossday 修改版
·提供Helix for linux下载!另有1万用户Lic for Linux.ZT
·提供Kylix下载
·Red hat 9 或 8怎样进行硬盘安装?
·哪里有高速下载linux9.0的啊?
·谁能提供FreeBSD下载
·大量的多媒体教学光盘ftp下载,有flash,dreamweaver视频教学
·Oracle安装(linux)小结

精品推荐
让APACHE防止多线程下载

加入时间:2005-2-22 快乐下载

cqfanli2003-9-5 16:57
让APACHE防止多线程下载

让APACHE防止多线程下载   

--------------------------------------------------------------------------------

下面是[email]sane@nsfocus.com[/email]写的一些关于mod_limitipconn.c的文档,可以参考一下:

[作者: [email]sane@nsfocus.com[/email] ]

mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制
,但是它是使用ExtendedStatus On形式,工作在应用层。当同一个IP的连接到达
限制的时候,apache对get请求发送:

HTTP/1.1 503 Service Temporarily Unavailable

从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。不过这个东东对
网管来说还是很有用的,特别是下载站的网管。简单介绍一下安装(动态模块方式
安装,假设你的apache已经装在/usr/local/apache目录下):

下载:[url]http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz[/url]

# 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目录下的文件下载限制
<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 3 ###限制web根目录同一个IP只能同时开3进程下载

# 还有其它选项,如:
# NoIPLimit image/*
# OnlyIPLimit audio/mpeg video
# 可以设置多个Location
</Location>
</IfModule>

重启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
...........
<Directory /xxx/xxx/xxx>
order deny,allow
deny from env=badguy
allow from all
</Directory>

注意httpd里面应该有 mod_setenvif模块




相关文章

相关软件