作者:DHY微学院朱曜宇 | 来源:互联网 | 2013-07-24 09:27
有个朋友服务器遭受攻击,目前可以断定是CC攻击,所以提供个PHP防CC攻击代码。说的有点过分了,其实也就是防止快速刷新代码,对于那么多的伪造IP,这个也起不了多大作用。CC攻击,还真是个头疼的问题。直接上代码。
-
/**
-
* @author 天涯
-
* mail@phpha.com
-
*/
-
//代理IP直接退出
-
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
-
//防止快速刷新
-
session_start();
-
$secOnds= '3'; //时间段[秒]
-
$refresh = '5'; //刷新次数
-
//设置监控变量
-
$cur_time = time();
-
if(isset($_SESSION['last_time'])){
-
$_SESSION['refresh_times'] += 1;
-
}else{
-
$_SESSION['refresh_times'] = 1;
-
$_SESSION['last_time'] = $cur_time;
-
}
-
//处理监控结果
-
if($cur_time - $_SESSION['last_time'] <$seconds){
-
if($_SESSION['refresh_times'] >= $refresh){
-
//跳转至攻击者服务器地址
-
header(sprintf('Location:%s', 'http://127.0.0.1'));
-
exit('Access Denied');
-
}
-
}else{
-
$_SESSION['refresh_times'] = 0;
-
$_SESSION['last_time'] = $cur_time;
-
}
-
?>