找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 586|回复: 0

Discuz! X3.5自带参数防御CC攻击以及原理、开启防CC攻击后不影响搜索引擎收录的方法

[复制链接]

93

主题

29

回帖

546

积分

高级会员

积分
546
发表于 2025-4-6 15:20:19 | 显示全部楼层 |阅读模式
原文链接

C攻击确实是很蛋疼的一种攻击方式,Discuz!的配置文件中已经有了一个自带的减缓CC攻击的参数,在配置文件config_global.php中72行:
$_config['security']['attackevasive'] = 0;
论坛防御级别,可防止大量的非正常请求造成的拒绝服务攻击,防护大量正常请求造成的拒绝服务攻击,
这个参数可以设置的值有:
0表示关闭此功能
1表示cookie刷新限制
2表示限制代理访问
4表示二次请求
8表示回答问题(第一次访问时需要回答问题)
默认值是0,当遭到攻击时,先分析其攻击手法和规律,组合使用。可以尝试先设置为2,4,1|4,1|2|4|8,如果1|2|4|8还不行,那说明应用程序层面上已经抵挡不住,网站遭到的可能是大流量的DDOS洪水攻击,只能通过像墨者安全那样专业的高防服务才能有效的进行防御。
开启防CC攻击后,会影响搜索引擎蜘蛛的抓取,下面修改后不影响搜索引擎蜘蛛的抓取方法来某网友提供,修改前切记备份好文件。
不影响搜索引擎蜘蛛抓取的修改方法,需要修改下面文件:
第一种方法:
在/source/class/discuz/discuz_application.php文件中可以找到如下代码(第330行)
if($this->config['security']['attackevasive'] && (!defined('CURSCRIPT') || !in_array($this->var['mod'], array('seccode', 'secqaa', 'swfupload')) && !defined('DISABLEDEFENSE'))) {
修改为
if(!IS_ROBOT && $this->config['security']['attackevasive'] && (!defined('CURSCRIPT') || !in_array($this->var['mod'], array('seccode', 'secqaa', 'swfupload')) && !defined('DISABLEDEFENSE'))) {


第二种方法、:
修改文件
\source\include\misc\misc_security.php
修改方法
在 global $_G; 下面加入如下代码
/*拓展安全机制 开始*/
/*配置1 搜索引擎*/
/*范围:0=不额外处理;1=该搜索引擎跳过dz安全防护;*/
$s_Baidu=1;
$s_360=1;
$s_Sogou=1;
$s_Bing=1;
$s_Byte=1;
$s_Ucsm=1;
/*配置2 跳过dz安全防护的ip段,一行一个,注意格式*/
$ip_list=array(
'112.36.*.*',
);
/*开始处理*/
$doing=false;
$agent=$_SERVER['HTTP_USER_AGENT'];
if($s_Baidu&&stristr($agent,"baiduspider")){
        $doing=true;
}elseif($s_360&&stristr($agent,"360Spider")){
        $doing=true;
}elseif($s_Sogou&&stristr($agent,"sogou spider")){
        $doing=true;
}elseif($s_Sogou&&stristr($agent,"sogou web spider")){
        $doing=true;
}elseif($s_Bing&&stristr($agent,"bingbot")){
        $doing=true;
}elseif($s_Byte&&stristr($agent,"bytespider")){
        $doing=true;
}elseif($s_Ucsm&&stristr($agent,"yisouspider")){
        $doing=true;
}
if(!$doing){
        $ip_arr=$temp = explode('.',$_G['clientip']);
        if(in_array($ip_arr[0].'.*.*.*',$ip_list)){
                $doing=true;
        }elseif(in_array($ip_arr[0].'.'.$ip_arr[1].'.*.*',$ip_list)){
                $doing=true;
        }elseif(in_array($ip_arr[0].'.'.$ip_arr[1].'.'.$ip_arr[2].'.*',$ip_list)){
                $doing=true;
        }elseif(in_array($ip_arr[0].'.'.$ip_arr[1].'.'.$ip_arr[2].'.'.$ip_arr[3],$ip_list)){
                $doing=true;
        }
}
//var_dump($this->config['security']['attackevasive']);
if($doing){
           $this->config['security']['attackevasive']='0';
}
//var_dump($this->config['security']['attackevasive']);
/*拓展安全机制 结束*/

回复

使用道具 举报

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

本版积分规则


QQ|Archiver|手机版|小黑屋|Bluetooth-UWB 联盟论坛 ( 京ICP备19003900号-5 )

GMT+8, 2025-12-5 05:24 , Processed in 0.014667 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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