Home  >  Article  >  Backend Development  >  How to disable refresh of php page

How to disable refresh of php page

coldplay.xixi
coldplay.xixiOriginal
2020-10-05 13:07:402649browse

How to disable refresh of the php page: first exit the proxy IP directly; then set the refresh time period and number to prevent rapid refresh; then set the monitoring variables and process the monitoring results; finally jump to the attacker's server address That’s it.

How to disable refresh of php page

How to disable refreshing the php page:

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"] < $timeOutLimit) {   
    //如果有session 且session时间间隔小于5分钟 直接die()退出并输出提示信息。
       die("请不要多次刷新当前页面");
    } else {    //如果没有超时,将session时间重置为当前时间。
       $_SESSION["timeout"] = time();
    }
} else {
    $_SESSION["timeout"] = time(); 
    //如果没有timeout的session,则创建session为当前时间,便于下次访问页面时判断
}
//其它页面代码.....

Method 2:

//代理IP直接退出
empty($_SERVER[&#39;HTTP_VIA&#39;]) or exit(&#39;Access Denied&#39;);
//防止快速刷新
session_start();
$seconds = &#39;3&#39;; //时间段[秒]
$refresh = &#39;5&#39;; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION[&#39;last_time&#39;])){
    $_SESSION[&#39;refresh_times&#39;] += 1;
}else{
    $_SESSION[&#39;refresh_times&#39;] = 1;
    $_SESSION[&#39;last_time&#39;]     = $cur_time;
}
//处理监控结果
if($cur_time - $_SESSION[&#39;last_time&#39;] < $seconds){
    if($_SESSION[&#39;refresh_times&#39;] >= $refresh){
        //跳转至攻击者服务器地址
        header(sprintf(&#39;Location:%s&#39;, &#39;http://127.0.0.1&#39;));
        exit(&#39;Access Denied&#39;);
    }
}else{
    $_SESSION[&#39;refresh_times&#39;] = 0;
    $_SESSION[&#39;last_time&#39;] = $cur_time;
}

If you want to learn more about programming, please pay attention to php training Column!

The above is the detailed content of How to disable refresh of php page. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn