您好,登錄后才能下訂單哦!
php頁面禁止刷新的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
php頁面禁止刷新的方法:首先直接退出代理IP;然后設置刷新的時間段和次數,防止快速刷新;接著設置監控變量,并處理監控結果;最后跳轉至攻擊者服務器地址即可。
php頁面禁止刷新的方法:
方法1:
一小段代碼實現頁面防刷新,可能沒有太大的用途,只是一個思路,供參考。
原理:
在頁面訪問時判斷是否有session,沒有的話直接創建一個session,并設置為當前時間,程序正常向下執行;
如果有session,判斷 session里的時間和當前時間的時間差,如果間隔小于規定的時間,如本例的5分鐘,則中斷程序執行并提示錯誤信息;
如果session里的時間大于當 前的時間,則刷新session中的時間,頁面正常執行。
代碼如下:
session_start(); //啟動session $timeOutLimit = "300"; //設置時間間斷五分鐘 if (isset($_SESSION["timeout"])) { //判斷是否有session if (time() - $_SESSION["timeout"] < $timeOutLimit) { //如果有session 且session時間間隔小于5分鐘 直接die()退出并輸出提示信息。 die("請不要多次刷新當前頁面"); } else { //如果沒有超時,將session時間重置為當前時間。 $_SESSION["timeout"] = time(); } } else { $_SESSION["timeout"] = time(); //如果沒有timeout的session,則創建session為當前時間,便于下次訪問頁面時判斷 } //其它頁面代碼.....
方法2:
//代理IP直接退出 empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //防止快速刷新 session_start(); $seconds = '3'; //時間段[秒] $refresh = '5'; //刷新次數 //設置監控變量 $cur_time = time(); if(isset($_SESSION['last_time'])){ $_SESSION['refresh_times'] += 1; }else{ $_SESSION['refresh_times'] = 1; $_SESSION['last_time'] = $cur_time; } //處理監控結果 if($cur_time - $_SESSION['last_time'] < $seconds){ if($_SESSION['refresh_times'] >= $refresh){ //跳轉至攻擊者服務器地址 header(sprintf('Location:%s', 'http://127.0.0.1')); exit('Access Denied'); } }else{ $_SESSION['refresh_times'] = 0; $_SESSION['last_time'] = $cur_time; }
感謝各位的閱讀!看完上述內容,你們對php頁面禁止刷新的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。