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中的float类型使用说明
Jul 27 PHP
php 短链接算法收集与分析
Dec 30 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP之多条件混合筛选功能的实现方法
Oct 09 PHP
laravel Model 执行事务的实现
Oct 10 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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与javascript的两种交互方式
2006/10/09 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
详解Anaconda 的安装教程
2020/09/23 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
五四青年节演讲稿
2014/05/26 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
九年级历史教学反思
2016/02/19 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python