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

本文提供了两种PHP防F5刷新的代码实现方案,通过限制单位时间内请求次数来阻止恶意刷新行为,同时分享了一段JS代码用于客户端F5刷新拦截。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不晓得大家有没有遇到过网站被暴力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屏蔽F5的方法:

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

【舍力博客】 => 【分享PHP防刷新代码从此网站不再被F5刷死】
原文地址:http://www.shuyong.net/633.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值