我的环境是appserv-win32-2.5.10集成环境
网站的图片被大量恶意IP访问
百度良久找到这个模块
引入这个模块配置之后的确是有作用的
但作用不是很大,最后曲线救国解决了这个问题,解决的方法有很大局限性 我就不说了;
具体配置如下 conf/httpd.conf
LoadModule dosevasive22_module modules/mod_dosevasive22.so #引入模块
<IfModule dosevasive22_module>
DOSHashTableSize 3097 #记录黑名单的尺寸
DOSPageCount 6 #每个页面被判断为dos攻击的读取次数 一旦超过,用户ip将被列入黑名单
DOSSiteCount 100 #每个站点被判断为dos攻击的读取部件(object)的个数 一旦超过,用户ip将被列入黑名单
DOSPageInterval 1 #读取页面间隔秒 同一页面的规定间隔时间
DOSSiteInterval 1 #读取站点间隔秒
DOSBlockingPeriod 200 #被封时间间隔秒 规定列入黑名单内ip的禁止时限,在时限内,用户继续访问将收到403 (Forbidden)的错误提示,并且计时器将重置。
由于列入黑名单后每次访问都会重新计时,所以不必将时限设置太大。在Dos攻击下,计时器也会保持 重置
</ifmodule>
我们还可以做防盗链设置,禁止直接访问图片:
<VirtualHost *:80>
DocumentRoot "C:\AppServ\www"
ServerName www1.X.cn
ServerAlias www1.X.cn
<Directory "C:\AppServ\www">
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
Deny From 195.94.144.210
</Directory>
# 防盗链配置
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www1.X.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www1.X.cn$ [NC]
RewriteRule .*\.(png|jpg|mp3)$ http://www.baidu.com [R,NC]
</IfModule>
ErrorLog "C:\AppServ\Apache2.2\logs\gerinn-errorsB.log"
CustomLog "C:\boshi.log" common
</VirtualHost>
修改的是conf\extra\httpd-vhosts.conf
语句解释:
RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句;
%{HTTP_REFERER} 引用服务器变量 ,方法是:%{NAME_OF_VARIABLE} NAME_OF_VARIABLE即为服务器变量【HTTP_USER_AGENT,HTTP_REFERER,HTTP_COOKIE,HTTP_FORWARDED,HTTP_HOST,HTTP_PROXY_CONNECTION,HTTP_ACCEPT】
!^http://www1.X.cn/.*$ [NC] !即为不匹配后面的正则表达式 NC意味不区分大小写
以上的语句大概意思就是如果用户访问的http_referer不是www1.x.cn则执行下面的RewriteRule
RewriteRule .*\.(png|jpg|mp3)$ http://www.baidu.com [R,NC] 如果后缀是png jpg这些则跳转到百度
下载:http://download.csdn.net/detail/tianhuimin/4412296