美国主机Lunarpages

Mediawiki中文技术论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3126|回复: 1

Mediawiki下特定IP攻击的解决方法

[复制链接]
发表于 2011-8-8 11:14:06 | 显示全部楼层 |阅读模式
RAKsmart美国服务器
mediawiki有优秀的负载能力,但如果发生特定IP地址的连续攻击,仍能给系统带来很大的负荷,导致运行缓慢甚至宕机。

对于来自特定IP地址的攻击,站长可采用以下方法进行简单应对:

1、找到index.php,在开始部分增加如下代码:
$allwiki_rip=getenv('REMOTE_ADDR');                 //获取访问IP
if ($allwiki_rip=='202.97.1.74') {die();}        //封禁特定IP
if ($allwiki_rip=='202.106.184.179') {die();}        //封锁更多IP
$allwiki_fip=getenv('HTTP_X_FORWARDED_FOR');         //访问时间
$allwiki_que=getenv('QUERY_STRING');                //获取页面访问参数
$fp=fopen('logs.txt','a');                         //以下为记录访问信息到日志文件
fputs($fp,$allwiki_fip."\t".$allwiki_rip."\t".$allwiki_que."\t".urldecode($_SERVER["HTTP_REFERER"])."\r\n");
fclose($fp);
2、建立logs.txt空文件,并设定访问权限
可以在本地建立logs.txt空文件,并上传到index.php所在目录。之后设定该文件的访问权限为777。

3、定期检查logs.txt,并进行相应处理
如果发现有可疑IP大量访问,则修改index.php中相应的IP处理代码,对其封禁
定期清空logs.txt,避免文件过大
攻击过去一段时间后(几天、一周或更长),应放开被封IP,避免挡住其他正常用户的使用
以上方法在天下维客实验通过。index.php是mediawiki各项功能的总入口,在此防范可以有效阻挡攻击。

更多说明
为安全起见,建议将logs.txt改为自定义的文件名
logs.txt文件中记录了来访IP、index.php访问参数、之前访问页面的网址。可用来进行网站流量分析
logs.txt日志内容可以复制、粘贴到excel中,排序后处理比较方便
改进考虑:
增加时间信息,以便更方便的发现攻击
自动控制文件长度?避免占用过多空间
深入改进后,应该能够实现自动统计IP访问频度、自动限制/封禁的效果,以及自动尝试解封
回复

使用道具 举报

发表于 2011-8-16 07:27:27 | 显示全部楼层
BlueHost主机优惠码
谢谢你啊,好帖子不顶不行













回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国HostEase虚拟主机一年198元

Archiver|手机版|小黑屋|Mediawiki中文技术论坛

GMT+8, 2021-10-22 20:45 , Processed in 0.076002 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表