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

144 篇文章 1 订阅
141 篇文章 17 订阅
在discuz的config/config_global.php配置文件中可以配置attackevasive参数开启CC 攻击防御
$_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、修改文件
\source\include\misc\misc_security.php
2、修改方法
在 global $_G; 下面加入如下代码

/*拓展安全机制 开始*/


/*配置1 搜索引擎*/
/*范围:0=不额外处理;1=该搜索引擎跳过dz安全防护;*/
$s_baidu=1;
$s_360=1;
$s_google=1;
/*配置2 跳过dz安全防护的ip段,一行一个,注意格式*/
$ip_list=array(
'127.*.*.*',
'192.168.*.*',
'10.*.*.*',


);
/*开始处理*/
$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_google&&stristr($agent,"Googlebot")){
	$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']);
/*拓展安全机制 结束*/

3、配置说明
a.搜索引擎有三个设置项目,1该搜索引擎跳过dz安全防护
b.ip段一行一个,格式如示例
4、操作说明,修改php文件,请记得用专门的代码编辑器,切勿使用记事本,如果电脑上没有代码编辑器,推荐使用notepad++ 只有几M大小;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值