搜索
Hi~登录注册
查看: 1222|回复: 0

小内存VPS wordpress网站F5之死(防频繁F5式cc攻击) |wordpress教程

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-4-15 17:20:11 | 显示全部楼层 |阅读模式
今天小V在群里闲扯,有几位小伙伴就提到了CC攻击,正好www.v7v3.com也很久没更新了,借此水一篇教程~大多数新人在初期建站时使用的都是虚拟主机,环境都是由IDC预先配置好的,所以,遇到小规模的CC攻击也许感觉不到什么,但是由于是虚拟主机的可定制性太差了,正好建站一段时间,网站也渐渐有了起色,流量也多,换个小内存vps用用也挺爽的,谷歌百度一下找个教程依葫芦画瓢把VPS环境一装好就屁颠屁颠的给网站搬家了。可是没过几天,却发现访问网站频繁的出错、访问超时、甚至无法访问,顿时就觉得被IDC坑了,立马找客服理论去。结果IDC直接调出网站日志,留下一句“网站被CC了”就再也不答理你了。哈哈~貌似撤的有点多啊,不过当年小V还在读高一的时候,自己建立的第一个网站就是这样被毁了的,所以唠嗑有点多啊,直接步入正题: nginx下防cc方法,利用ngx_http_limit_conn_module模块限制连接数: http {    limit_conn_zone $binary_remote_addr zone=addr:10m;       ...       server {           ...           location /download/ {            limit_conn addr 1;        }     语法: limit_conn zone number;   默认值: —   上下文: http, server, location    指定一块已经设定的共享内存空间,以及每个给定键值的最大连接数。当连接数超过最大连接数时,服务器将会返回 503 (Service Temporarily Unavailable) 错误。比如,如下配置  limit_conn_zone $binary_remote_addr zone=addr:10m;   server {    location /download/ {        limit_conn addr 1;    } 表示,同一 IP 同一时间只允许有一个连接,具体参考nginx官方帮助文档:http://nginx.org/cn/docs/http/ngx_http_limit_conn_module.html wordpress防cc代码: //防止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");  exit;  }}else{  $ll_times = 0;  $_SESSION['ll_lasttime'] = $ll_nowtime;  $_SESSION['ll_times'] = $ll_times;} 以上代码直接丢到主题的functions.php文件即可。(PS:以上代码来自90blog)
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表