找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2975|回复: 0

[分享] DiscuzX修改CC攻击防御机制attackevasive,实现忽略指定ip段和搜索引擎不受影响

[复制链接]
发表于 2017-11-15 13:53:32 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡

不想麻烦修改代码的朋友, 也可以直接使用我开发的插件: cc防御盾 https://addon.dismall.com/plugins/twpx_ccdefense.html


在discuzX的config/config_global.php配置文件中可以配置attackevasive参数开启CC 攻击防御
  1. $_config['security']['attackevasive'] = 0;      // CC 攻击防御 1|2|4|8  
复制代码

当你的站点发现被CC攻击时,你也可以在config中打开CC攻击防御,该防御有1/2/4/8四种防御方式,每个数字的意义为:
0表示关闭此功能
1表示cookie刷新限制
2表示限制代理访问
4表示二次请求
8表示回答问题(第一次访问时需要回答问题)
正常情况下设置为 0,在遭到攻击时,分析其攻击手法和规律,组合使用。 可以尝试先设置为 2, 2|4, 1|2|4|, 1|2|4|8, 如果 1|2|4|8 还不行,应用程序层面上已经抵挡不住,可能主机遭受的攻击来自于僵尸网络的 DDOS 攻击了,建议从防火墙策略上入手。
由于此项配置是针对所有访问者的,隐藏一旦发生误判将会影响网站的访问性,以及影响搜索引擎的抓取!
本文通过修改discuz文件,实现忽略指定ip段和搜索引擎不受此安全策略影响!
1、修改文件
  1. \source\include\misc\misc_security.php  
复制代码

2、修改方法
在 global $_G; 下面加入如下代码
  1. /*拓展安全机制 开始*/  
  2.   
  3.   
  4. /*配置1 搜索引擎*/  
  5. /*范围:0=不额外处理;1=该搜索引擎跳过[url=http://bbs.piaoxian.net/forum-21-1.html]dz[/url]安全防护;*/  
  6. $s_baidu=1;  
  7. $s_360=1;  
  8. $s_google=1;  
  9. /*配置2 跳过dz安全防护的ip段,一行一个,注意格式*/  
  10. $ip_list=array(  
  11. '127.*.*.*',  
  12. '192.168.*.*',  
  13. '10.*.*.*',  
  14.   
  15.   
  16. );  
  17. /*开始处理*/  
  18. $doing=false;  
  19. $agent=$_SERVER['HTTP_USER_AGENT'];  
  20. if($s_baidu&&stristr($agent,"Baiduspider")){  
  21.     $doing=true;  
  22. }elseif($s_360&&stristr($agent,"360Spider")){  
  23.     $doing=true;  
  24. }elseif($s_google&&stristr($agent,"Googlebot")){  
  25.     $doing=true;  
  26. }  
  27. if(!$doing){  
  28.     $ip_arr=$temp = explode('.',$_G['clientip']);  
  29.     if(in_array($ip_arr[0].'.*.*.*',$ip_list)){  
  30.         $doing=true;  
  31.     }elseif(in_array($ip_arr[0].'.'.$ip_arr[1].'.*.*',$ip_list)){  
  32.         $doing=true;  
  33.     }elseif(in_array($ip_arr[0].'.'.$ip_arr[1].'.'.$ip_arr[2].'.*',$ip_list)){  
  34.         $doing=true;  
  35.     }elseif(in_array($ip_arr[0].'.'.$ip_arr[1].'.'.$ip_arr[2].'.'.$ip_arr[3],$ip_list)){  
  36.         $doing=true;  
  37.     }  
  38. }  
  39. //var_dump($this->config['security']['attackevasive']);  
  40. if($doing){  
  41.     $this->config['security']['attackevasive']='0';  
  42. }  
  43. //var_dump($this->config['security']['attackevasive']);  
  44. /*拓展安全机制 结束*/
复制代码
3、配置说明
a.搜索引擎有三个设置项目,1该搜索引擎跳过dz安全防护
b.ip段一行一个,格式如示例
4、操作说明,修改php文件,请记得用专门的代码编辑器,切勿使用记事本,如果电脑上没有代码编辑器,推荐使用notepad++ 只有几M大小;

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

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

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 06:52 , Processed in 0.042241 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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