请选择 进入手机版 | 继续访问电脑版

雨述

 找回密码
 立即注册

手机短信,快捷登录

QQ登录

只需一步,快速开始

搜索
查看: 33|回复: 0

DiscuzX开源系统如何防御cc攻击?discuz论坛遭受CC攻击怎么办

[复制链接]

447

主题

78

回帖

3699

积分

≡ 总站长 ≡

凌烟阁议会

Rank: 9Rank: 9Rank: 9Rank: 9

声望值
695
贡献值
2394
金币
5152
通宝
973
发表于 2022-9-23 21:07:10 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
社区论坛类的网站由于流量比较大,很容易遭到DDOS攻击,特别是针对网页的CC攻击。一旦网站遇到类似攻击,不但导致用户流失,还会被搜索引擎降权。那当遇到CC攻击时该怎么办呢?其实Discuz!系统有一个缓解CC攻击的功能,今天就教大家如何进行配置。
打开 Discuz!的配置文件config/config.global.php,在里面找到
$_config['security']['attackevasive']= 0;// CC 攻击防御 1|2|4|8
这一行代码;
我们可以修改这个参数来缓解CC攻击,可以设置的值有:

0 表示关闭此功能;

1 表示cookie刷新限制——当同一个cookie请求大于或等于1秒时刷新,将被限制访问。

2 表示限制代理访问;

4 表示二次请求;  ——开启了二次请求机制,先显示等待2秒重新加载才能访问真实的页面;

8 表示回答问题(第一次访问时需要回答问题);

默认值是0,当遭到攻击时,先分析其攻击手法和规律,组合使用。可以尝试先设置为2,2|4,1|2|4|,1|2|4|8,如果1|2|4|8还不行,那说明应用程序层面上已经抵挡不住,网站遭到的可能是大流量的DDOS洪水攻击,只能通过像墨者安全那样专业的高防服务才能有效的进行防御。

仅修改该行配置数值虽然能缓解CC攻击,但也会影响搜索引擎蜘蛛抓取;特别是 使用 4 和 8 会直接导致蜘蛛无法抓取到内容。

大家可以参考下面的方法修改代码 来避免对蜘蛛的影响:

在source/include/misc/misc_security.php文件中可以找到如下代码(默认第46~50行)
  1. if($attackevasive & 4) {
  2.     if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
  3.     securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
  4.     }
  5. }
复制代码
修改为
  1. if($attackevasive & 4) {
  2.     if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
  3.         // 不同蜘蛛之间用 | 隔开,不区分大小写
  4.         $spiders = "Baiduspider|Bytespider|360Spider|bingbot|YodaoBot|YoudaoBot|Googlebot|Googlebot-Image|Mediapartners-Google|Sogou-Test-Spider|Twiceler|Yahoo! Slurp|Yahoo! Slurp China|Yahoo!-AdCrawler|Yahoo ContentMatch Crawler|Sosospider|CollapsarWEB qihoobot|NaverBot|sogou spider|sogou in spider|Sogou web spider|Sogou News Spider|Sogou Orion spider|Sogou head spider|SurveyBot|Yanga WorldSearch Bot v|baiduspider-mobile-gate|discobot|ia_archiver|msnbot|msnbot-media|YisouSpider|EasouSpider|JikeSpider|EtaoSpider|YandexBot|AhrefsBot|ezooms.bot";
  5.    
  6.         if(!preg_match("/($spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {
  7.             securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
  8.         }   
  9.     }
  10. }
复制代码

修改完成后覆盖,更新缓存即可,修改前切记做好文件备份。经测试: 使用 参数 仅用4 就可以防住大部分cc攻击,如果想用8  来防御,可参考本教程修改 if($attackevasive & 8){} 这个if内的代码;

爱我所爱,倾其为真
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|雨述· 雨亭轩 |吉ICP备20003128号-2 |网站地图|网站地图

GMT+8, 2022-12-1 07:34 , Processed in 0.042647 second(s), 17 queries , Gzip On, Redis On.

雨述 by discuz! X3.4

© 2001-2022 Comsenz Inc.

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