CC攻擊防御機制開啟后,實現忽略白名單

時間:2019/10/10 19:48:33,點擊:0

在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(
'101.226.103.*',
'140.207.54.*',
'103.7.30.*',
'203.205.219.*',
'183.3.234.*',
'58.251.80.*',
  
);
/*開始處理*/
$doing=false;
$agent=$_SERVER['HTTP_USER_AGENT'];
$refurl = $_SERVER["HTTP_REFERER"];
if($s_baidu&&stristr($agent,"Baiduspider")){
$doing=true;
}elseif($s_360&&stristr($agent,"360Spider")){
$doing=true;
}elseif($s_google&&stristr($agent,"Googlebot")){
$doing=true;
}elseif(strpos($refurl, 'alipay.com') !== false){
$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']);
/*拓展安全機制 結束*/


支付寶支付插件增加下面兩行:

define('DISABLEDEFENSE',true);
$_GET['mod']='seccode';

打印 | 關閉

新疆18选7开奖公告