在進行資料處理和保存前,先判斷瀏覽器的取得頁面方式。使用$_SERVER["REQUEST_METHOD"]變數來獲得瀏覽器的取得頁面方式。檢查其是否為”POST”。在腳本中使用session來記錄使用者是否透過正常途徑(即填入提交內容的頁面)來提交資料。或使用$_SERVER["HTTP_REFERER"]來檢測,但不建議這樣做。因為部分瀏覽器覽器沒有設定REFERER,有部分防火牆也會封鎖REFERER。另外,我們也要對提交內容檢查,看資料庫中是否有重複內容。以留言本為例,使用Session來判定:填入瀏覽內容的頁面中,我們在最前端加上:$_SESSION["allowgbookpost"]=time(); //登記填寫時的時間 在接受留言資料並保存的頁面中我們在進行資料處理前我們也用Session進行以下處理:if(strtoupper($_SERVER["REQUEST_METPO"))! { die("錯誤:請勿在外部提交。"); } //檢查頁面取得方法是否為POSTif(!isset($_SESSION["allowgbookpost"]) or(time ()-$_SESSION["allowgbookpost"]
"); } //檢查留言填寫時的時間
if(isset($_SESSION ["gbookposttime"]) and
(time()-$_SESSION["gbookposttime"]
隔不得少於2 分鐘。") ; } //檢查留言間隔
unset($_SESSION["allowgbookpost"]); //註銷allowgbookpost變數以防止一次進
入填頁多次提交
$_SESSION["gposttime" =time(); //登記發送留言的時間,防止灌水或惡意攻擊
...
資料處理及保存
...
以上就介紹了PHP防止刷屏,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31