• 技术文章 >后端开发 >PHP问题

    php怎么禁止页面刷新?

    青灯夜游青灯夜游2020-07-21 15:26:35原创747

    方法:在页面访问时判断是否有session,没有的话直接创建一个session,并设置为当前时间,程序正常向下执行;如果有session,判断session里的时间和当前时间的时间差,如果间隔小于规定的时间,则中断程序执行。

    php禁止页面刷新的方法

    方法1:

    一小段代码实现页面防刷新,可能没有太大的用途,只是一个思路,供参考。

    原理:

    在页面访问时判断是否有session,没有的话直接创建一个session,并设置为当前时间,程序正常向下执行;

    如果有session,判断 session里的时间和当前时间的时间差,如果间隔小于规定的时间,如本例的5分钟,则中断程序执行并提示错误信息;

    如果session里的时间大于当 前的时间,则刷新session中的时间,页面正常执行。

    代码如下:

    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为当前时间,便于下次访问页面时判断
    }
    //其它页面代码.....

    方法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教程

    以上就是php怎么禁止页面刷新?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 禁止页面刷新
    上一篇:php中如何将字符转为数字 下一篇:PHP如何删除数组的空元素?
    大前端线上培训班

    相关文章推荐

    • PHP如何判断是手机还是PC?• php如何去掉url中的参数• phpmyadmin #1045错误无法登录mysql服务器怎么办?• PHP 如何实现图片上传预览?• php中怎么将二维数组转为一维数组

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网