wordpress作為目前全球流行度最高的程序,其功能強(qiáng)大,擴(kuò)展性強(qiáng),不過(guò)也是由于功能強(qiáng)大,其運(yùn)行其它非常的腫,特別容易被CC攻擊導(dǎo)致無(wú)法運(yùn)行。
要解決被CC問(wèn)題,主機(jī)吧整理了一些方法給大家。
1.安裝緩存插件
給網(wǎng)站裝WP Super Cache與Redis Object Cache插件,其中WP Super Cache是緩存網(wǎng)頁(yè)內(nèi)容的,可以把wordpress的動(dòng)態(tài)網(wǎng)頁(yè)生成純靜頁(yè),這樣動(dòng)態(tài)請(qǐng)求就會(huì)大量減少,從而減小服務(wù)器負(fù)擔(dān)。
而Redis Object Cache是針對(duì)數(shù)據(jù)庫(kù)的,可以把數(shù)據(jù)庫(kù)請(qǐng)求緩存至服務(wù)器內(nèi)存上,大量減少了CPU的壓力,對(duì)于一些服務(wù)器配置CPU低,內(nèi)存高的,非常適合。至于這兩個(gè)插件怎么安裝的問(wèn)題大家自行百度啦,這邊就不多說(shuō)了。
2.給PHP放代碼
原理是對(duì)每個(gè)IP訪問(wèn)進(jìn)行訪問(wèn)限制,超出相應(yīng)的值后,就會(huì)反回404頁(yè),對(duì)于小型CC攻擊是有用處的,但對(duì)于有大量IP的攻擊來(lái)說(shuō)無(wú)用,而且主機(jī)吧不清楚用了這個(gè)代碼對(duì)搜索引擎是否有影響,大家看著來(lái)弄吧。
//防止CC攻擊
session_start(); //開(kāi)啟session
$timestamp = time();
$ll_nowtime = $timestamp ;
//判斷session是否存在 如果存在從session取值,如果不存在進(jìn)行初始化賦值
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;
}
//現(xiàn)在時(shí)間-開(kāi)始登錄時(shí)間 來(lái)進(jìn)行判斷 如果登錄頻繁 跳轉(zhuǎn) 否則對(duì)session進(jìn)行賦值
if(($ll_nowtime – $ll_lasttime) =5){
header(“l(fā)ocation:http://127.0.0.1”);//可以換成其他鏈接,比如站內(nèi)的404錯(cuò)誤顯示頁(yè)面(千萬(wàn)不要用動(dòng)態(tài)頁(yè)面)
exit;
}
}else{
$ll_times = 0;
$_SESSION[‘ll_lasttime’] = $ll_nowtime;
$_SESSION[‘ll_times’] = $ll_times;
}
將代碼放functions.php中即可
3.給網(wǎng)站裝云防火墻
如果上面兩種方法沒(méi)有解決的,那我們只能花錢(qián)買(mǎi)防御了,給網(wǎng)站裝高防CDN或者高防IP,也就是云防,這類(lèi)防御是收費(fèi)的,而且往往價(jià)格并不便宜。以阿里云WAF防火墻為例,最低版的一個(gè)月也要38000,當(dāng)然我們不需要用這么好的,我們可以用百度云加速CDN防御,一個(gè)專(zhuān)業(yè)版代理價(jià)也就880元一年,開(kāi)啟強(qiáng)力防護(hù)后可以做到無(wú)視CC攻擊,而且可以隱藏源服務(wù)器IP,從而天然保護(hù)了服務(wù)器被DDoS的風(fēng)險(xiǎn)。
好了,以上就是主機(jī)吧對(duì)wordpress防御CC攻擊的一些經(jīng)驗(yàn),如果你遇到攻擊無(wú)法解決的也可以聯(lián)系我們,我們來(lái)給你找防御方案。