PHP防CC攻击实现代码
这种时候您的统计系统(可能是量子、百度等)当然也是统计不到的。不过我们可以借助于一些防攻击的软件来实现,不过效果有时并不明显。下面我提供一段PHP的代码,可以起到一定的防CC效果。
主要功能:在3秒内连续刷新页面5次以上将指向本机 http://127.0.0.1
$P_S_T = $t_array[0] + $t_array[1];
$timestamp = time();
session_start();
$ll_nowtime = $timestamp ;
if (session_is_registered('ll_lasttime')){
$ll_lasttime = $_SESSION['ll_lasttime'];
$ll_times = $_SESSION['ll_times'] + 1;
$_SESSION['ll_times'] = $ll_times;
}else{
$ll_lasttime = $ll_nowtime;
$ll_times = 1;
$_SESSION['ll_times'] = $ll_times;
$_SESSION['ll_lasttime'] = $ll_lasttime;
}
if (($ll_nowtime - $ll_lasttime)<3){
if ($ll_times>=5){
header(sprintf("Location: %s",'http://127.0.0.1'));
exit;
}
}else{
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_nowtime;
$_SESSION['ll_times'] = $ll_times;
}
以下是网友的回复:
SESSION 是依靠 COOKIE 的,如果屏蔽掉COOKIE怎么办?
TCP/IP -> apache -> php 这个过程已经消耗了很多东西,到这步只是没有更多的计算操作和MYSQL连接
就凭这几行代码,不能解决问题的。顶多对那些在浏览器里面按F5刷页面的操作关用。
所以推荐大家服务器安装防cc攻击的防火墙效果才会比较好。大家可以到s.jb51.net查看相关的软件。
主要功能:在3秒内连续刷新页面5次以上将指向本机 http://127.0.0.1
复制代码 代码如下:
$P_S_T = $t_array[0] + $t_array[1];
$timestamp = time();
session_start();
$ll_nowtime = $timestamp ;
if (session_is_registered('ll_lasttime')){
$ll_lasttime = $_SESSION['ll_lasttime'];
$ll_times = $_SESSION['ll_times'] + 1;
$_SESSION['ll_times'] = $ll_times;
}else{
$ll_lasttime = $ll_nowtime;
$ll_times = 1;
$_SESSION['ll_times'] = $ll_times;
$_SESSION['ll_lasttime'] = $ll_lasttime;
}
if (($ll_nowtime - $ll_lasttime)<3){
if ($ll_times>=5){
header(sprintf("Location: %s",'http://127.0.0.1'));
exit;
}
}else{
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_nowtime;
$_SESSION['ll_times'] = $ll_times;
}
以下是网友的回复:
SESSION 是依靠 COOKIE 的,如果屏蔽掉COOKIE怎么办?
TCP/IP -> apache -> php 这个过程已经消耗了很多东西,到这步只是没有更多的计算操作和MYSQL连接
就凭这几行代码,不能解决问题的。顶多对那些在浏览器里面按F5刷页面的操作关用。
所以推荐大家服务器安装防cc攻击的防火墙效果才会比较好。大家可以到s.jb51.net查看相关的软件。