apache防止多线程下载的配置方法

mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制,使用ExtendedStatus On形式,工作在应用层。当同一个IP的连接到达限制时,apache对get请求发送: 
HTTP/1.1 503 Service Temporarily Unavailable 
从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。

不过这个模块在防止多线程下载方面,还是很有用处的。

下面分享下此模块的安装与配置过程,希望对大家有所帮助。

一,安装(动态模块方式)
安装,假设apache安装在/usr/local/apache目录。

下载:
 

复制代码代码示例:
# wget 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目录下的文件下载限制 
<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模块才可以。
本文出处参考:http://www.jbxue.com/article/10636.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值