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