PHP实现防刷新代码示例
2014-04-01 20:49:37   来源:   评论:0 点击:

<?php 防刷新 $str=""; $file="log ipdate dat"; if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777); if(!file_exists($file
<?php
//防刷新  
$str="";  
$file="log/ipdate.dat";  
if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777);  
if(!file_exists($file))file_put_contents($file,"");  
$allowTime = 120;//防刷新时间  
$allowNum=10;//防刷新次数  
$uri=$_SERVER['REQUEST_URI'];  
$checkip=md5($ip);  
$checkuri=md5($uri);  
$yesno=true;  
$ipdate=@file($file);  
foreach($ipdate as $k=>$v)  
{ $iptem=substr($v,0,32);  
$uritem=substr($v,32,32);  
$timetem=substr($v,64,10);  
$numtem=substr($v,74);  
if($time-$timetem<$allowTime){  
if($iptem!=$checkip)$str.=$v;  
else{  
$yesno=false;  
if($uritem!=$checkuri)$str.=$iptem.$checkuri.$time."1 ";  
elseif($numtem<$allowNum)$str.=$iptem.$uritem.$timetem.($numtem+1)." ";  
else  
{  
if(!file_exists($fileforbid)){$addforbidarr=array($ip." ",time()." ",1);file_put_contents($fileforbid,$addforbidarr);}  
file_put_contents("log/forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri." ",FILE_APPEND);  
$timepass=$timetem+$allowTime-$time;  
die("Warning:"."<br>"."Sorry,you are forbided by refreshing frequently too much, Pls wait for ".$timepass." seconds to continue!");  
}  
}  
}  
}  
if($yesno) $str.=$checkip.$checkuri.$time."1 ";  
file_put_contents($file,$str);  

相关热词搜索:php

上一篇:php serialize() 和 unserialize()方法来实现序列化和反序列化
下一篇:PHP实现查询禁止IP和加入禁止IP