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 相关文章推荐
Content-type 的说明
Oct 09 PHP
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
ie6 动态缩略图不显示的原因
Jun 21 PHP
PHP5中使用PDO连接数据库的方法
Aug 01 PHP
PHP入门学习笔记之一
Oct 12 PHP
php的一个简单加密解密代码
Jan 14 PHP
解决php表单重复提交实现方法
Sep 29 PHP
微信随机生成红包金额算法php版
Jul 21 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 PHP
如何用Laravel包含你自己的帮助函数
May 27 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自定义函数截取汉字长度
2014/05/15 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python使用新浪微博API发送微博的例子
2014/04/10 Python
web.py在模板中输出美元符号的方法
2014/08/26 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
python内置数据类型之列表操作
2018/11/12 Python
举例讲解Python常用模块
2019/03/08 Python
使用Python在Windows下获取USB PID&amp;VID的方法
2019/07/02 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
请介绍一下Ant
2016/07/22 面试题
父亲八十大寿答谢词
2014/01/23 职场文书
化妆品店促销方案
2014/02/24 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
七年级话题作文之执着
2019/11/19 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python