Discuz!论坛 开启论坛防御后过滤搜索蜘蛛和白名单IP的方法

| 2 Comments | No TrackBacks

针对 Discuz!论坛 在受到攻击开启论坛防御后,搜索引擎的蜘蛛也会要求进行安全防御及验证,影响搜索引擎收录及某些特定白名单IP不需要受攻击防御限制的情况而发布以下方法,希望对开启了防御的论坛有一定作用:
1.修改config.inc.php配置文件:
查找

$admincp = array();

在其上面一行加入以下一行:


$skipattackeip = array('127.0.0.1','111.111.111.111','222.222.222.222'); //白名单IP,IP用单引号引用起来,每个IP之间用逗号隔开

2.修改include目录下的common.inc.php文件:
找到如下代码

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $onlineip = $_SERVER['REMOTE_ADDR']; }

将这段代码剪切后粘贴

if($attackevasive && CURSCRIPT != 'seccode')

代码所在行的上面

3.修改common.inc.php文件:

if($attackevasive && CURSCRIPT != 'seccode')

代码修改为

if($attackevasive && CURSCRIPT != 'seccode' && !IS_ROBOT && !in_array($onlineip, $skipattackeip))

4.保存修改的以上文件就完成开启论坛防御后过滤蜘蛛和白名单的IP地址不进行安全防御及验证

原创 BY 小勤 xqin.com QQ:841168 2009-4-11

No TrackBacks

TrackBack URL: http://blog.home4love.com/cgi-bin/mt/mt-tb.cgi/669

2 Comments

我是来测试留言的……

转贴的……

自己测试一下

Leave a comment

Personal info

 mail me
follow sunnywolf on twitter

  • 总文章数 561
  • 总留言数 610
  • 总引用数 5


Archives

Pages

Links