CC攻擊攻擊的原因就是不停的刷新動(dòng)態(tài)頁面如php+mysql讀寫數(shù)據(jù)庫的頁面,這樣如果刷新比較快可以導(dǎo)致頁面卡死或服務(wù)器資源使用超量,從而導(dǎo)致服務(wù)器掛了,下面給大家整理了一些防止CC攻擊的例子.
CC攻擊原因
CC攻擊的原理就是攻擊者控制某些主機(jī)不停地發(fā)大量數(shù)據(jù)包給對(duì)方服務(wù)器造成服務(wù)器資源耗盡,一直到宕機(jī)崩潰,CC主要是用來攻擊頁面的,每個(gè)人都有這樣的體驗(yàn),當(dāng)一個(gè)網(wǎng)頁訪問的人數(shù)特別多的時(shí)候,打開網(wǎng)頁就慢了,CC就是模擬多個(gè)用戶,多少線程就是多少用戶,不停地進(jìn)行訪問那些需要大量數(shù)據(jù)操作,就是需要大量CPU時(shí)間的頁面,造成服務(wù)器資源的浪費(fèi),CPU長時(shí)間處于100%,永遠(yuǎn)都有處理不完的連接直至就網(wǎng)絡(luò)擁塞,正常的訪問被中止.
cc攻擊刷新頁面對(duì)我們沒有任何意義,要說有意義就是把我們的網(wǎng)站資源使用盡了,防御CC攻擊可以通過多種方法,禁止網(wǎng)站代理訪問,盡量將網(wǎng)站做成靜態(tài)頁面,限制連接數(shù)量,修改最大超時(shí)時(shí)間等.
PHP實(shí)例代碼如下:
- <?php
- //代理IP直接退出
- emptyempty($_SERVER['HTTP_VIA']) or exit('Access Denied');
- //防止快速刷新
- session_start();
- $seconds = '3'; //時(shí)間段[秒]
- $refresh = '5'; //刷新次數(shù)
- //設(shè)置監(jiān)控變量
- $cur_time = time();
- if(isset($_SESSION['last_time'])){
- $_SESSION['refresh_times'] += 1;
- }else{
- $_SESSION['refresh_times'] = 1;
- $_SESSION['last_time'] = $cur_time;
- }
- //處理監(jiān)控結(jié)果
- if($cur_time - $_SESSION['last_time'] < $seconds){
- if($_SESSION['refresh_times'] >= $refresh){
- //跳轉(zhuǎn)至攻擊者服務(wù)器地址
- header(sprintf('Location:%s', 'http://127.0.0.1'));
- exit('Access Denied');
- }//開源代碼Vevb.com
- }else{
- $_SESSION['refresh_times'] = 0;
- $_SESSION['last_time'] = $cur_time;
- }
- ?>
防火墻是防CC攻擊一個(gè)非常不錯(cuò)的解決方案,不但不會(huì)對(duì)服務(wù)器有任何影響同時(shí)能有效的防止CC攻擊.
推薦小站長可使用安全狗來做防CC攻擊或使用linux iptalbs來防止CC攻擊,同樣像我的服務(wù)器有機(jī)房防火墻會(huì)自動(dòng)攔截這些類型的攻擊.
新聞熱點(diǎn)
疑難解答