下面是sane@nsfocus.com写的一些关于mod_limitipconn.c的文档,可以参考一下:
[作者: 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目录下的文件下载限制
<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模块
| iloveyoufreebsd 回复于:2003-02-06 20:41:05 |
| 感谢,已收藏。 |
| iloveyoufreebsd 回复于:2003-02-21 01:09:51 |
| 我用过的,感觉很不错的。不知道有没有能限制每个线程的流量,比如最大50K/s |
| 阿骁 回复于:2003-03-16 11:04:42 |
| 这正是我要找的东西啊! 多谢蜘蛛兄了! :) |
| redhat71 回复于:2003-03-16 12:44:44 |
| [quote:2b844601eb="iloveyoufreebsd"]我用过的,感觉很不错的。不知道有没有能限制每个线程的流量,比如最大50K/s[/quote:2b844601eb]
* Title : Bandwidth management * File : mod_bandwidth.c * Author : Yann Stettler (stettler@cohprog.com) * Date : 17 July 1999 * Version : 2.0.2 for Apache 1.3+ * * Description : * Provide bandwidth usage limitation either on the whole server or * one a per connection basis based on the size of files, directory * location or remote domain/IP. 这些东西找起来都不难,在http://modules.apache.org/查一下limit,这两个都在里面,还有其它的可选。。。 |
| bbsstream 回复于:2003-03-24 14:25:46 |
| 我在solaris5.9下安装mod_limitipconn时出现如下错误。不知道怎么处理。请不惜赐教!
=============================================== /usr/local/apache/bin/apxs -c mod_limitipconn.c gcc -DSOLARIS2=290 -DEAPI -DUSE_EXPAT -I../lib/expat-lite -O3 -fPIC -DSHARED_MOD ULE -I/usr/local/apache/include -c mod_limitipconn.c ld -G -o mod_limitipconn.so mod_limitipconn.o apxs:Break: Command failed with rc=16777215 make: *** [mod_limitipconn.so] Error 1 =============================================== [quote:f005d0fc0b="南非蜘蛛"]ane@nsfocus.com ] mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制 ,但是它是使用ExtendedStatus On形式,工作在应用层。当同一个IP的连接到达 限制的时候,apache对get请求发送?.........[/quote:f005d0fc0b] |
| fxp1126 回复于:2003-03-25 03:17:31 |
| 试一下用 /usr/ccs/bin里的make。 |
| bbsstream 回复于:2003-03-26 14:11:15 |
| 出现同样的错误!
[quote:cf2541a4d1="fxp1126"]试一下用 /usr/ccs/bin里的make。[/quote:cf2541a4d1] |
| jianxin0431 回复于:2003-03-26 14:52:49 |
| 好东西,支持 |
| jackyy 回复于:2003-04-02 23:48:36 |
| 你的这些话是什么意思?
ExtendedStatus On ###make install时这句前面的#没有去掉,一定要去掉 ###make install已经加了下面两句,确认存在就行了 LoadModule limitipconn_module libexec/mod_limitipconn.so AddModule mod_limitipconn.c 是说在安装完mod_limitipconn-0.04后配置httpd.conf--ExtendedStatus On 配置完后,要进行make和make install 吗?用不用configure呀? |

