- A+
我的这个网站刚开不久也就是6月3日遭受了cc攻击,之前已经用wordpress多年也没有遇到过,甚至还不知道其名字,也是被攻击后,才发现wordpress的网络安全是如此脆弱.现将本人搜集的2种措施公布给大家,已免大家遭受cc攻击,亡羊补牢,为时不晚.
1.将下列代码加入functions.php(具体有没有效果没有单独验证,建议加上为好):
//防止CC攻击
session_start(); //开启session
$timestamp = time();
$ll_nowtime = $timestamp ;
//判断session是否存在 如果存在从session取值,如果不存在进行初始化赋值
if ($_SESSION){
$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;
}
//现在时间-开始登录时间 来进行判断 如果登录频繁 跳转 否则对session进行赋值
if(($ll_nowtime - $ll_lasttime) < 3){
if ($ll_times>=3){
header("location:http://127.0.0.1");//可以换成其他链接,比如站内的404错误显示页面(千万不要用动态页面)
exit;
}
}else{
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_nowtime;
$_SESSION['ll_times'] = $ll_times;
}
2. 通过网站日志直接封对方ip
直接将
RewriteBase /
Order deny,allow
deny from 211.138.61* (具体ip可以从日志里查询,多个换行)
......
allow from all
代码放入.htacess文件中即可.
经本人验证这种方法最有效,甚至比某某网站卫士效果更好,大家可以试试免收cc攻击.
这种也有一定局限性,就是如果攻击者不停更换ip每个ip都那么添加的话会非常麻烦
3.目前最有效的方法(讲课听到的虽然我没测试但估计肯定有效)
将网站搬家至高防服务器,然后增加cdn,然后将自己的ip隐藏.这样攻击者攻击不到你的真实IP免受攻击.