Home >Backend Development >PHP Problem >How to prevent page refresh in php?
Method: Determine whether there is a session when accessing the page. If not, create a session directly and set it to the current time. The program will execute normally; if there is a session, determine the time difference between the time in the session and the current time. , if the interval is less than the specified time, program execution is interrupted.
php method to prohibit page refresh
Method 1:
A small piece of code to prevent page refresh may not be of much use, it is just an idea for reference.
Principle:
Determine whether there is a session when the page is accessed. If not, create a session directly and set it to the current time. The program will execute normally;
If there is session, determine the time difference between the time in the session and the current time. If the interval is less than the specified time, such as 5 minutes in this example, the program execution will be interrupted and an error message will be prompted;
If the time in the session is greater than the current time time, refresh the time in the session, and the page will execute normally.
The code is as follows:
session_start(); //启动session $timeOutLimit = "300"; //设置时间间断五分钟 if (isset($_SESSION["timeout"])) { //判断是否有session if (time() - $_SESSION["timeout"] <</span> $timeOutLimit) { //如果有session 且session时间间隔小于5分钟 直接die()退出并输出提示信息。 die("请不要多次刷新当前页面"); } else { //如果没有超时,将session时间重置为当前时间。 $_SESSION["timeout"] = time(); } } else { $_SESSION["timeout"] = time(); //如果没有timeout的session,则创建session为当前时间,便于下次访问页面时判断 } //其它页面代码.....
Method 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; }
Recommended related tutorials: "PHP Tutorial》
The above is the detailed content of How to prevent page refresh in php?. For more information, please follow other related articles on the PHP Chinese website!