Home > php教程 > php手册 > body text

php防止网站被f5刷新的例子

WBOY
Release: 2016-06-02 09:13:46
Original
882 people have browsed it

最近比较晕了,博客经常给朋友f5不停的刷新了,这个让一个空间根据搞不定呀,后来网上整理了一些防止刷新的代码才得己解决,下面来看到整理的代码吧,希望这些例子对你有帮助.

搬家到阿里云的头两天头痛了,主机配置低,尼玛的wp的需求高,F5几下就刷死了,你让俺情何以堪,以前用过的主机配置哪有这么逊的,就不吐槽阿里云了,说不定当你看到这里的时候,这个站还在阿里云这蹲着呢.

下面附上一段代码,防止频繁的刷新导致数据库吃紧....

方式NO.1,代码如下:

<?php       
session_start();       
$k=$_GET[&#39;k&#39;];       
$t=$_GET[&#39;t&#39;];       
$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;       
}
Copy after login

方式NO.2,代码如下:

<?php 
//Changed by www.phprm.com 
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(); 
}
Copy after login

方式NO.3,代码如下:

<?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>//开源代码phprm.com 
<?php 
echo $v; 
$_SESSION[status] = $v;
Copy after login

有何妙用??你猜呢 呵呵 有用到的拿去吧

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

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

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

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

这样做的好处有两个:

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

<?php  
include(&#39;includes/forbiddenCC.php&#39;);  
<!DOCTYPE html>
Copy after login

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


本文地址:

转载随意,但请附上文章地址:-)

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template