apache中限制同一ip的同时登陆次数

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

1.构建过程说明

进行ip链接限制利用了apache的module--->mod_limitipconn

具体网址:http://dominia.org/djao/limitipconn.html

apache的modyle查询网址:http://modules.apache.org

系统说明:redhat ad server2.1 apache1.3.27

2.构建过程

构建过程是基于apache启用dso(dynamic shared objects )模式.

也就是你在编译apache的时候加入了--enable-module=so这个参数

构建的时候你无需停止你的apache服务...这个就是dso的方便之处:)

为了便于理解

这里把apache安装的目录叫做/apache-root

apache的源码目录叫做/apache-src

1)

把下裁到的mod_limitipconn-0.04.tar.gz解压到一个目录

tar -zvxf mod_limitipconn-0.04.tar.gz

这样mod就被解压到它所在地目录了...

2)

利用apxs把mod_limitconn.c编译成so为后缀的模块,并由程序自动修改apache的conf和cp模块到/apache-root/libexec,并设置正确权限(全自动完成)

cd mod_limitipconn-0.04

/apache-root/bin/apxs -i -a -c mod_limitconn.c

3)

利用phpinfo();函数查看apache当前的mod情况...(用vi编辑一个只有<? phpinfo(); ?>的php)

如果没有mod_status那么手动增加

增加方法如下:

为apache增加server-status的支持...

cd /apache-src/src/modules/standard

/apache-root/bin/apxs -i -a -c mod_status.c

注:一般都有mod_status了...:)所以上面步骤可选...

4)

修改apache的配置文件,配置文件在/apache-root/conf/httpd.conf

检查里面是否有下面的句子

LoadModule limitipconn_module libexec/mod_limitipconn.so

#LoadModule status_module libexec/mod_status.so //手动增加mod_模块要加这行

AddModule mod_limitipconn.c

#AddModule mod_status.c //手动增加mod_模块要加这行

并且

ExtendedStatus On

段要为on的设置,默认是off

还要在httpd.conf的最后加入

##############

#new add conf#

##############

<IfModule mod_limitipconn.c>

<Location />

MaxConnPerIP 6

# exempting images from the connection limit is often a good

# idea if your web page has lots of inline images, since these

# pages often generate a flurry of concurrent image requests

NoIPLimit image/* //image文件不受限制...包括gif,jpg等...

</Location>

# <Location /mp3>

# MaxConnPerIP 1

# # In this case, all MIME types other than audio/mpeg and video*

# # are exempt from the limit check

# OnlyIPLimit audio/mpeg video

# </Location>

#</IfModule>

##################

#new add conf end#

##################

MaxConnPerIP 6说明限制每个ip为6个链接....

5)

确认conf是不是正确

/apache-root/bin/apachectl configtest

restart apache

/apache-root/bin/apachectl restart

6)

自己想个办法测试了...:)

更多信息查看官方网站的介绍..:)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航