分享PHP防刷新代码从此网站不再被F5刷死

admin 2024-03-05 612 阅读 0评论

防刷新代码一:

session_start();
$allow_sep = "60";
if (isset($_SESSION["post_sep"])) {
   if (time() - $_SESSION["post_sep"] < $allow_sep) {
       exit("孩子你能消停一下么?刷新请60秒后继续!");
   } else {
       $_SESSION["post_sep"] = time();
   }
} else {
   $_SESSION["post_sep"] = time();
}


防刷新代码二:

//代理IP直接退出
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
//防止快速刷新,在设置的时间内到达设置次数就跳转的设定的页面
session_start();
$seconds = '3'; //时间段[]
$refresh = '3'; //刷新次数
//设置监控变量
$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;
}


因为上面的代码是基于 session的验证,假如你在2秒内刷新了页面,那么它会执行exit() 函数输出一条消息,并退出当前脚本。于是就不会加载下面的内容,所以这段代码最好放在header中,先让代码执行,再加载其他的东西。 如果把代码放在了footer里,结果整个页面都加载了只在最后一行输出了“请不要频繁刷新”,放在header中,效果比较好。其实最好的方法是新建一个FCC.php文件,然后在header调用。


js屏蔽F5的方法

.= (e){
        e = .|| ekeycode = e.|| e.( keycode = ){
            (.){{e.= }(e){}
                e.= }{e.()}
        }}
喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 612人围观)