PHP防CC攻擊的實作程式碼是「if (session_is_registered('ll_lasttime')){$ll_lasttime = $_SESSION['ll_lasttime'];$ll_times =...}」。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
PHP防CC攻擊實作程式碼是什麼?
PHP防CC攻擊實現代碼
所謂的CC攻擊就是對方利用程式或一些代理對您的網站進行不間斷的訪問,造成您的網站處理不了而處於當機狀態
這種時候您的統計系統(可能是量子、百度等)當然也是統計不到的。不過我們可以藉助一些防攻擊的軟體來實現,不過效果有時並不明顯。
下面我提供一段PHP的程式碼,可以起到一定的防CC效果。
主要功能:在3秒內連續刷新頁面5次以上將指向本機http://127.0.0.1
代碼如下:
$P_S_T = $t_array[0] + $t_array[1]; $timestamp = time(); session_start(); $ll_nowtime = $timestamp ; if (session_is_registered('ll_lasttime')){ $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; } if (($ll_nowtime - $ll_lasttime)<3){ if ($ll_times>=5){ header(sprintf("Location: %s",'http://127.0.0.1')); exit; } }else{ $ll_times = 0; $_SESSION['ll_lasttime'] = $ll_nowtime; $_SESSION['ll_times'] = $ll_times; }
以下是網友的回覆:
SESSION 是靠COOKIE 的,如果封鎖掉COOKIE怎麼辦?
TCP/IP -> apache -> php 這個過程已經消耗了很多東西,到這步只是沒有更多的計算操作和MYSQL連接
就憑這幾行程式碼,不能解決問題的。頂多對那些在瀏覽器裡面按F5刷頁面的操作關用。
所以推薦大家伺服器安裝防cc攻擊的防火牆效果才會比較好。
推薦學習:《PHP影片教學》
以上是PHP防CC攻擊實作程式碼是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!