這里講解一下原理,給大家提供思路,然后在分享一下關于wordpress防御CC攻擊的代碼,希望能夠幫助到大家!">

被CC攻擊怎么辦

2018-03-05 16:22:52 danvi

如何防御cc攻擊

     首先cdn是不錯的的防御選擇,能夠同時防御cc和ddos(因為屏蔽了自己服務器的ip)攻擊,不過針對于wordpress如果出現上面的wp-options或者數據庫占用過大,也是無法防御的,因為每一次訪問都會查詢數據庫,這個是沒法防御的。

    這里講解一下原理,給大家提供思路,然后在分享一下關于wordpress防御CC攻擊的代碼,希望能夠幫助到大家!

 

CC攻擊原理

    ddos必須知道對方ip才可以進行攻擊,攻擊模式多樣性,包括攻擊網站和網吧,以及對方電腦,我們可以通過cdn隱藏真實ip搞定,不過cc就是模擬用戶訪問了,這個沒法防御的,頂多別人攻擊量大的時候來個驗證碼訪問或者臨時封ip,不過只要你開啟了cdn或者像無作為這樣開啟了雙cdn防御基本都沒問題。

    不過也有意外情況,大家可以通過這里分享的原理,去找出防御cc攻擊的方法,其原理如下:

    cc攻擊模擬多個用戶訪問網站→網站內容被下載→像數據庫發送大量請求→cpu和帶寬占用率提高(或者長時間出現滿cpu,滿帶寬)→服務器資源被占用,用戶無法訪問。

    這幾天無作為就是解決了數據庫的需求,精簡優化了數據庫,導致服務器資源占用減少,解決了問題。

wordpress防御cc攻擊代碼

將下面的防 cc  代碼加入到當前使用主題的 functions.php 中即可

//防止CC攻擊

session_start(); //開啟session

$timestamp = time();

$ll_nowtime = $timestamp ;

//判斷session是否存在 如果存在從session取值,如果不存在進行初始化賦值

if ($_SESSION){

 $ll_lasttime = $_SESSION['ll_lasttime'];

 $ll_times = $_SESSION['ll_times'] + 1;

 $_SESSION['ll_times'] = $ll_times;

}else{

 $ll_lasttime = $ll_nowtime;

 $ll_times = 1;

 $_SESSION['ll_times'] = $ll_times;

 $_SESSION['ll_lasttime'] = $ll_lasttime;

}

//現在時間-開始登錄時間 來進行判斷 如果登錄頻繁 跳轉 否則對session進行賦值

if(($ll_nowtime - $ll_lasttime) < 3){ if ($ll_times>=5){

header("location:http://127.0.0.1");//可以換成其他鏈接,比如站內的404錯誤顯示頁面(千萬不要用動態頁面)

 exit;

 }

}else{

 $ll_times = 0;

 $_SESSION['ll_lasttime'] = $ll_nowtime;

 $_SESSION['ll_times'] = $ll_times;

}

上面代碼中將鏈接換成:127.0.0.1的作用就是自己攻擊自己,因為127.0.0.1是本機的意思。


主站蜘蛛池模板: 乐平市| 鸡西市| 乡宁县| 通许县| 塔河县| 达日县| 资溪县| 安阳县| 习水县| 保靖县| 旬阳县| 辽阳市| 南京市| 文昌市| 贵阳市| 普安县| 剑川县| 江油市| 德庆县| 遂平县| 铁岭市| 汽车| 曲靖市| 纳雍县| 余干县| 福州市| 舟曲县| 仙桃市| 新河县| 丘北县| 缙云县| 于田县| 泉州市| 连州市| 额敏县| 巨鹿县| 崇义县| 四川省| 任丘市| 枣强县| 秦皇岛市|