不管是企业网站还是个人网站,上线之后就有可能会被人进行攻击,有时候不一定是竞争对手,很可能是一些人在练手。其中CC攻击就是一种很常见的网络攻击方式,对于站长来说网站被攻击怎么办?今天分享一下WordPress防御CC攻击的方法。
一、服务器开通防火墙
首先,可视化服务区管理工具宝塔面板可以帮助我们实现很多防护设置。什么,你还没用过宝塔面板?
限制IP防止CC攻击:
1、宝塔面板可以通过设置IP限制来防止CC攻击。在宝塔面板的安全设置中,用户可以设置单个IP每秒钟最多允许访问的次数。当同一个IP在规定时间内访问超过设定的次数时,宝塔面板会自动屏蔽该IP地址,从而有效防止CC攻击。
2、其次,宝塔面板还提供了黑白名单功能。用户可以将不可信的IP地址添加到黑名单中。当有IP地址被添加到黑名单中时,宝塔面板会自动拦截该IP地址的所有请求,从而有效地防止CC攻击。
使用宝塔云WAF防火墙:
堡塔云WAF:免费的WAF防火墙,可以有效拦截CC攻击、sql注入、xss、一句话木马、防采集等常见渗透攻击
web攻击防护:CC攻击、SQL注入、xss攻击、恶意文件上传、远程命令执行、文件包含、恶意扫描拦截。 web恶意代码防护: 防止网站挂马、后门上传拦截。 web应用框架及组件漏洞防护: struts2,discuz,dedecms,phpcms,fckeditor等等。 Web应用合规: 敏感信息泄露防护、网站盗链保护。
二、网站生成静态访问:
wordpress有很多缓存插件,例如WP Super Cache插件,可以帮我们网页生成静态内容。生成静态后即能加速网站访问速度还能减少服务器资源占用,但是这个方法对于攻击来说有点杯水车薪的意思。
三、纯代码防御CC攻击:
将下面的防御cc攻击的代码加入到当前使用主题的function.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>=5){ header("location:http://127.0.0.1");//可以换成其他链接,比如站内的404错误显示页面(千万不要用动态页面) exit; } }else{ $ll_times = 0; $_SESSION['ll_lasttime'] = $ll_nowtime; $_SESSION['ll_times'] = $ll_times; }
以上就是WordPress防御CC攻击的解决方法,当然了,其中的宝塔云WAF防火墙是通用方案,对于其他程序搭建的网站一样有效。而代码方式就是专门针对wordpress程序的方案,具体使用哪一种大家可以自己斟酌选择。