php防止网站被刷新的方法汇总


Posted in PHP onDecember 01, 2014

本文实例讲述了php防止网站被刷新的方法。分享给大家供大家参考。具体方法如下:

对于像采用WP建设的站来说,频繁的刷新会导致数据库吃紧。下面附上一段代码,防止频繁的刷新造成的死机情况。

方法一,代码如下:

<?php       

session_start();       

$k=$_GET['k'];       

$t=$_GET['t'];       

$allowTime = 1800;//防刷新时间       

$ip = get_client_ip();       

$allowT = md5($ip.$k.$t);       

if(!isset($_SESSION[$allowT]))       

{       

    $refresh = true;       

    $_SESSION[$allowT] = time();       

}elseif(time() - $_SESSION[$allowT]>$allowTime){       

    $refresh = true;       

    $_SESSION[$allowT] = time();       

}else{       

    $refresh = false;       

}       

?>

方法二,代码如下:
<?php 

session_start(); 

$allow_sep = "2"; 

if (isset($_SESSION["post_sep"])) 

{ 

if (time() - $_SESSION["post_sep"] < $allow_sep) 

{ 

exit("请不要频繁刷新,休息2秒再刷新吧"); 

} 

else 

{ 

$_SESSION["post_sep"] = time(); 

} 

} 

else 

{ 

$_SESSION["post_sep"] = time(); 

} 

?>

方法三,代码如下:
<?php 

session_start(); 

if(!emptyempty($_POST[name])){ 

   $data = $_POST[name]; 

   $tag = $_POST[tag]; 

   if($_SESSION[status]==$tag){ 

     echo $data; 

   }else{ 

     echo "不允许刷新!"; 

   } 

} 

$v = mt_rand(1,10000); 

?> 

<form method="post" name="magic" action="f5.php"><input type="hidden" 

name="tag" value="<?=$v?>"><input type=text name="name"><input type="submit" value="submit"> 

</form>

<?php 

echo $v; 

$_SESSION[status] = $v; 

?>

注意:代码有了,不过要应用到WordPress还要一些其他操作.

因为上面的代码是基于 session的验证,假设你在2秒内刷新了页面,那么他会执行exit() 函数输出一条消息,并退出当前脚本,于是就不会加载下面的内容,所以这段代码最好放在header中,先让代码执行,再加载其他的东西.

如果把代码放在了footer里,结果整个页面都加载了只在最后一行输出了"请不要频繁刷新",放在header中,效果比较好,想看效果的话按两下F5 吧.

当然最好的是采用的是新建一个php文件,然后在header调用.

这样做的好处有两个:

一个是修改功能代码方便,不用每次都打开header文件,也不怕误改了其他地方的代码,二是一旦出错,可以快速修改并检查,甚至可以直接删除文件,代码如下:

<?php  

include('includes/forbiddenCC.php');  

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

这里要注意下,必须调用在所有页面的最前面.

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP制作图型计数器的例子
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
PHP三元运算符的结合性介绍
Jan 10 PHP
php字符串截取的简单方法
Jul 04 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 PHP
Yii框架的redis命令使用方法简单示例
Oct 15 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
phpstorm编辑器乱码问题解决
Dec 01 #PHP
php获取文章上一页与下一页的方法
Dec 01 #PHP
CI框架给视图添加动态数据
Dec 01 #PHP
php强制运行广告的方法
Dec 01 #PHP
PHP过滤黑名单关键字的方法
Dec 01 #PHP
php中print(),print_r(),echo()的区别详解
Dec 01 #PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 #PHP
You might like
php.ini 中文版
2006/10/28 PHP
PHP中的session安全吗?
2016/01/22 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Python中内建函数的简单用法说明
2016/05/05 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
python实现串口通信的示例代码
2020/02/10 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
代理商会议邀请函
2014/01/27 职场文书
销售经理工作职责
2014/02/03 职场文书
项目建议书格式
2014/03/12 职场文书
公司晚会主持词
2014/03/22 职场文书
工程质量承诺书
2014/03/27 职场文书
体育教师求职信
2014/06/30 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
工作推荐信模板
2015/03/25 职场文书
停电通知范文
2015/04/16 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
十个Python自动化常用操作,即拿即用
2021/05/10 Python