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中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
PHP封装的完整分页类示例
Aug 21 PHP
PDO::_construct讲解
Jan 27 PHP
PHP getName()函数讲解
Feb 03 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
Oct 17 PHP
PHP实现简单用户登录界面
Oct 23 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 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错误、异常处理机制(补充)
2012/05/07 PHP
php中error与exception的区别及应用
2014/07/28 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
python中的decimal类型转换实例详解
2019/06/26 Python
python同步windows和linux文件
2019/08/29 Python
python多线程实现TCP服务端
2019/09/03 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
大学生求职简历的自我评价
2013/10/21 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
师范生自荐信模板
2014/05/28 职场文书
六查六看自查报告
2014/10/14 职场文书
清洁工个人工作总结
2015/03/05 职场文书
红歌会主持词
2015/07/02 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书