<?php
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
header("content-type:text/html;charset=utf-8;");
$seconds =2;// 刷新时间间隔 [秒]
$refresh =5;//刷新次数
$waitTime=10; //超频后多久可以访问
//设置监控变量
$cur_time = time();
session_start();
if(isset($_SESSION['last_time'])){
$_SESSION['refresh_times']+=1;
}
else
{
//第一次运行
$_SESSION['refresh_times']=1;
$_SESSION['last_time']= $cur_time;
}
//处理监控结果
if( isset($_SESSION['suoding']) && $cur_time - $_SESSION['suoding'] < $waitTime
||
$cur_time - $_SESSION['last_time'] < $seconds){
if($_SESSION['refresh_times'] >= $refresh){ //时间段内超频,下次访问退出。
$_SESSION['suoding'] = $cur_time;
exit('检测到CC攻击,正在进行浏览器安全检查!');
}
}else{
//没超频,归零, if里的超频了就没归零一直累积。
$_SESSION['refresh_times']=0;
$_SESSION['last_time']= $cur_time;
}
echo "超频刷新了:".$_SESSION['refresh_times']."次,可以访问!";
仅供学习参考,如有不妥,欢迎评论指正。共同学习。