恶意刷新就是非正常访问网页,比如用软件等,不停的去刷新或提交某一页面,导致大量无效数据或者通过大量刷新页面的请求占用大量网络资源,以达到瘫痪网络的目的。


为了防止页面被恶意刷新,特写了一个防止恶意刷新页面的程序,两次访问时间隔小于0.5秒,即提示用户不要恶意刷新网页。代码如下:

<?php
session_start();
$allow_sep = "0.5";//防刷新间隔秒数
$okvist=false;
// 获取当前时间戳,精确到毫秒
function microtime_float(){
   list($usec, $sec) = explode(" ", microtime());
   return ((float)$usec + (float)$sec);
}
//防刷
if(isset($_SESSION["post_sep"])){
	$septime=microtime_float() - $_SESSION["post_sep"];
	if($septime < $allow_sep){
		exit("请不要恶意刷新页面");
	}else{
		$_SESSION["post_sep"] = microtime_float();
		$okvist=true;
	}
}else{
	$_SESSION["post_sep"] = microtime_float();
	$okvist=true;
}
//正常访问...
?>