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 相关文章推荐
Classes and Objects in PHP5-面向对象编程 [1]
Oct 09 PHP
php执行sql语句的写法
Mar 10 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
php汉字转拼音的示例
Feb 27 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
由php中字符offset特征造成的绕过漏洞详解
Jul 07 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
Laravel框架路由管理简单示例
May 07 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
多重?l件?合查?(二)
2006/10/09 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
yii中widget的用法
2014/12/03 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
python实现超市商品销售管理系统
2019/10/25 Python
python使用配置文件过程详解
2019/12/28 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
深入了解Python 变量作用域
2020/07/24 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
趣味体育活动方案
2014/02/08 职场文书
预防传染病方案
2014/06/14 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
军训个人总结
2015/03/03 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS