這里講解一下原理,給大家提供思路,然后在分享一下關于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是本機的意思。


主站蜘蛛池模板: 达拉特旗| 龙泉市| 宾阳县| 汽车| 苏尼特右旗| 荆州市| 顺平县| 巴楚县| 丰城市| 安陆市| 山丹县| 宝山区| 开化县| 新野县| 南召县| 临澧县| 浮梁县| 许昌县| 进贤县| 绥芬河市| 乌拉特后旗| 枞阳县| 黄浦区| 巴里| 南京市| 金秀| 青川县| 宁都县| 肃北| 和平区| 横峰县| 呼伦贝尔市| 乌兰察布市| 清河县| 武平县| 当雄县| 邯郸市| 舒兰市| 松溪县| 奉节县| 西昌市|