当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 让APACHE防止多线程下载

Linux服务器
Linux下利用Squid构建高速的ProxyServer
在Linux操作系统上配置DNS服务器的日志
搭建性能比Squid高很多的Varnish服务器
Linux系统挂载AIXNFS服务器的配置方法
Linux上架设一台高容量POP3服务器
鸟哥的Linux学习笔记DNS服务器知识
部署Linux下OpenVZ虚拟化服务器
在RHEL5服务器上远程桌面(VNC)的配置
Samba服务器多系统用户共享目录设计方法
Linux攻略Samba服务的搭建与配置
Linux操作系统下配置DNS服务器的方法介绍
用Linux系统自身做一个L2TP的VPN服务器
Linux环境用Sendmail架设Mail服务器
细述Apachewebserver的安装与配置
linux环境下轻松搭建CVS服务器
UbuntuLinux通过SSh远程管理服务器
Linux操作系统下DHCP中继代理的实现方法
Ubuntu7.10Linux上构建全功能的服务器
Linux系统搭建Discuz论坛的方法
Ubuntub7.10Linux架设Samba服务

Linux服务器 中的 让APACHE防止多线程下载


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 36 ::
收藏到网摘: n/a

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

欢迎访问互联网技术在线http://www.chinaitlab.com

ExtendedStatusOn###makeinstall时这句前面的#没有去掉,一定要去掉

###makeinstall已经加了下面两句,确认存在就行了

LoadModulelimitipconn_modulelibexec/mod_limitipconn.so

AddModulemod_limitipconn.c

###下面就是对web目录下的文件下载限制


MaxConnPerIP3###限制web根目录同一个IP只能同时开3进程下载

#还有其它选项,如:

#NoIPLimitimage/*

#OnlyIPLimitaudio/mpegvideo

#可以设置多个Location

重启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

欢迎访问互联网技术在线http://www.chinaitlab.com


BrowserMatch"OfflineExplorer"badguy
BrowserMatch"Teleport"badguy
...........

orderdeny,allow
denyfromenv=badguy
allowfromall


注意httpd里面应该有mod_setenvif模块。