阿离

发表文章数:154

阿离API调用

邪恶动图、二次元、唯美酷图、渣男语录、舔狗日记等API

立即前往

PHP防F5链刷新代码

大家有没有遇到过网站被频繁F5刷新刷死的?

如果你曾经的确遇到过这样的问题,那么接下来的文章可能对你而言就是一片非常实用的好文了!


代码一

<?php 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();} ?>

 

代码二

<?php //代理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代码

<script> document.onkeydown = function(e){ e = window.event || e; var keycode = e.keyCode || e.which; if( keycode = 116){ if(window.event){// ie try{e.keyCode = 0;}catch(e){} e.returnValue = false; }else{e.preventDefault();} }} </script>

 

未经允许不得转载作者:阿离, 转载或复制请以 超链接形式 并注明出处 阿离博客
原文地址:《PHP防F5链刷新代码》 发布于2020-03-28

赞(0) 打赏 生成海报

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章Nice就打赏一下文章作者吧

支付宝扫一扫打赏

微信扫一扫打赏

各大VIP视频解析
短视频去水印,VIP视频解析下载,MD5伪版权,B站封面截取
切换注册

登录

忘记密码 ?

切换登录

注册