Discuz!开源系统如何防御CC攻击?

  1. 云栖社区>
  2. 博客列表>
  3. 正文

Discuz!开源系统如何防御CC攻击?

墨者安全 2018-11-10 17:13:28 浏览158 评论0

摘要: Discuz!是一套免费的开源建站系统,在国内挺受欢迎的,主要用来搭建社区论坛类的网站。社区论坛类的网站由于流量比较大,很容易遭到DDOS攻击,特别是针对网页的CC攻击。一旦网站遇到类似攻击,不但导致用户流失,还会被搜索引擎降权。那当遇到CC攻击时该怎么办呢?

Discuz!是一套免费的开源建站系统,在国内挺受欢迎的,主要用来搭建社区论坛类的网站。社区论坛类的网站由于流量比较大,很容易遭到DDOS攻击,特别是针对网页的CC攻击。一旦网站遇到类似攻击,不但导致用户流失,还会被搜索引擎降权。那当遇到CC攻击时该怎么办呢?其实Discuz!系统有一个缓解CC攻击的功能,今天墨者安全就教大家如何进行配置。



e7f23c895e85791c3304f738437ccf2ec4cf9b43

在Discuz!的配置文件找到config.inc.php,可以看到默认数值是0。

$attackevasive = 0;

我们可以修改这个参数来缓解CC攻击,可以设置的值有:

0 表示关闭此功能;
1 表示cookie刷新限制;
2 表示限制代理访问;
4 表示二次请求;
8 表示回答问题(第一次访问时需要回答问题);

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



7b3456ecbf4fe89ce05e9b547dff5868c5c1200e

修改该配置数值虽然能缓解CC攻击,当有可能会影响搜索引擎蜘蛛抓取降低SEO效果。可以试试以下方法:

在source/include/misc/misc_security.php文件中可以找到如下代码(默认第46~50行)

if($attackevasive & 4) {
        if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
                securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
        }
}

修改为:

if($attackevasive & 4) {
        if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
        $kw_spiders        = 'Bot|Crawl|Spider';
                        // keywords regular expression of search engine spiders
        if(preg_match("/($kw_spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {
                        // match search engine spiders
        }else{
                securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
        }
}

修改完成后覆盖,更新缓存即可,修改前切记做好文件备份。这样就可以避免搜索引擎蜘蛛受到影响了,希望通过这篇文章能够对使用Discuz!开源系统搭建网站的站长或者企业有所帮助,尽可能的降低被CC攻击造成的损失。

7a90feeeebd4d0f8d3a505cfc846f8e3f1215ef8
【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论