寶塔面板如何設(shè)置防cc攻擊?cc攻擊是攻擊者借助代理服務(wù)器生成指向受害主機的合法請求,實現(xiàn)ddos和偽裝。寶塔面板想要設(shè)置防cc攻擊,可通過以下策略。
redis + 驗證碼 + 策略 防cc
采用redis高性能數(shù)據(jù)庫,合理的訪問策略驗證并在超大攻擊時開啟驗證碼訪問。讓網(wǎng)站遠離cc
1.安裝redis,在寶塔軟件管理找到,安裝;
2.安裝php redis擴展,你用哪個php就安裝哪個php的擴展,別裝錯了;
3.在網(wǎng)站入口,如wordpress的index.php 頭部加入如下代碼:
header('content-type: text/html; charset=utf-8'); //emlog原有代碼,復(fù)制下列代碼放在下面
//cc攻擊停止后會盡快解除驗證碼,回到正常狀態(tài)
//防cc配置$ipmax = 30; //開啟驗證碼條件 值>=php最大進程數(shù),適當(dāng)設(shè)置更大會降低驗證碼觸發(fā)條件,但會增大502錯誤幾率(php掛起)
$ipfor = 60; //周期 這個值基本不用動
$ipban = 60; //扔入黑名單 60秒內(nèi)訪問超過60次即拉黑ip
$bantime = 3600*24; //黑名單時長 扔小黑屋時長,這種代理ip放一天感覺都少了 = =!
$ip = ip();
//連接本地的 redis 服務(wù)$redis = new redis();$redis->connect('127.0.0.1', 6379);
//攔截黑名單if($redis->exists($ip.'ban')){
exit('您被關(guān)進了小黑屋,黑白網(wǎng)丨h(huán)eibai.org');}
//扔黑名單檢測if($redis->get($ip.'ok') >= $ipban){
$redis->setex($ip.'ban', $bantime, '1');}
if($redis->exists($ip.'ok')){
$redis->incrby($ip.'ok',1); //記錄ip 自增1}else{
$redis->setex($ip.'ok',$ipfor,1);}
//按需開啟防cc 小黑屋ip不會觸發(fā)該條件,所以當(dāng)一段時間以后就會解除驗證碼。除非攻擊者換一批代理繼續(xù)攻擊。如此往復(fù)if(count($redis->keys(*ok)) > $ipmax){
//驗證
if($_cookie['key'] == ''){
if($_get['cc']){
$key = md5($ip.$_get['cc']);
setcookie(key,$key);
}
}
//攔截代碼
if($_cookie['key'] && $_cookie['cc'] && $_cookie['key'] == md5($ip.$_cookie['cc'])){
//通過
}else{
if($_get['cc']){
$key = md5($ip.$_get['cc']);
setcookie(key,$key);
}else{
$cc = rand(1000,9999);
setcookie(cc,$cc);
//這里只是簡單的構(gòu)造了一下驗證碼,有能力可以自己更改的更安全和完美。
echo '<!doctype html>
<html>
<body>
<form action=>請輸入:'.$cc.' :<input type=text name=cc value=><input type=submit value=繼續(xù)訪問></form>
<p>訪問異常,請輸入驗證碼。</p>
</body>
</html>';
}
exit();
}}function ip() {
if(getenv('http_client_ip') && strcasecmp(getenv('http_client_ip'), 'unknown')) {
$ip = getenv('http_client_ip');
} elseif(getenv('http_x_forwarded_for') && strcasecmp(getenv('http_x_forwarded_for'), 'unknown')) {
$ip = getenv('http_x_forwarded_for');
} elseif(getenv('remote_addr') && strcasecmp(getenv('remote_addr'), 'unknown')) {
$ip = getenv('remote_addr');
} elseif(isset($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($_server['remote_addr'], 'unknown')) {
$ip = $_server['remote_addr'];
}
$res = preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
return $res;}西部數(shù)碼的云服務(wù)器提供預(yù)裝好寶塔linux面板的系統(tǒng)模板,可直接安裝使用,十分方便。
購買西部數(shù)碼云計算服務(wù)器可以自主選擇是否開通cc防護功能。西部數(shù)碼云主機租用智能、電信、香港高防線路均支持cc防護。支持cc攻擊防護的云服務(wù)器產(chǎn)品鏈接 https://www.west.cn/cloudhost/
云計算有哪些證書阿里云服務(wù)器ecs如何提交續(xù)費主機續(xù)費失敗-虛擬主機/數(shù)據(jù)庫問題經(jīng)典品牌如何年輕化?《開心消消樂》X《憤怒的小鳥2》全新合體……url與域名的區(qū)別是什么360瀏覽器如何錄屏 360瀏覽器自帶錄屏的使用步驟高效運營小程序打造私域流量在線支付功能怎么不能用-備案平臺