該function用來統計每個來訪者在短時間內共訪問了多少次,如果超出了次數限制,則返回TRUE,之後您可以用PHP調用linux的iptables進行封鎖操作就行了
我曾用過幾個DDOS類的工具實際測試過,效果很不錯.
對了,順便提一下,我在代碼中用文件來記錄來訪者ip和時間,最好是別用數據庫(也不要自作聰明地存入session中),另外最好是把這個文件放入SSD硬碟上,原因嘛我就不說了,估計大家都知道
/** 防止客戶端惡意重整 用法: $isf5=Fun::isf5(); 返回: 返回bool[true:對方在惡意重整;false:正常訪問] /**/ public static function isf5(){ $_f=Run.'_isf5'; if(!file_exists($_f)){ file_put_contents($_f,serialize(array()),LOCK_EX); chmod($_f,0777); } $arr=unserialize(file_get_contents($_f)); $arr=(!is_array($arr)) ? array() : $arr; //清理掉10秒前訪問的用戶 foreach($arr as $k=>$v){ if($_ENV['now']-$v['t'] >= 10){ unset($arr[$k]); } } $ip='_'.(self::cur('ip')); if(!isset($arr[$ip])){ $arr[$ip]['n']=1; //1s內連線的次數 $arr[$ip]['t']=$_ENV['now']; //第1次訪問的時間 file_put_contents($_f,serialize($arr),LOCK_EX); chmod($_f,0777); unset($_f,$arr,$ip); return FALSE; }else{ if(!isset($arr[$ip]['t']) or !is_numeric($arr[$ip]['t'])){ unset($arr[$ip]); file_put_contents($_f,serialize($arr),LOCK_EX); chmod($_f,0777); unset($_f,$arr,$ip); return FALSE; } if(($_ENV['now']-$arr[$ip]['t']) <= 1){ //若距離上次訪問的時間沒有超過1s,則只累加次數 $arr[$ip]['n']+=1; if($arr[$ip]['n']>=5){ unset($_f,$arr,$ip); return TRUE; }else{ file_put_contents($_f,serialize($arr),LOCK_EX); chmod($_f,0777); unset($_f,$arr,$ip); return FALSE; } }else{ //若距離上次訪問的時間已經超過1s,則重新計數 $arr[$ip]['n']=1; $arr[$ip]['t']=$_ENV['now']; file_put_contents($_f,serialize($arr),LOCK_EX); chmod($_f,0777); unset($_f,$arr,$ip); return FALSE; } } unset($_f,$arr,$ip); return FALSE; }
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具