设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย french

搜索
热搜: 活动 交友 discuz

AMH面板防CC攻击模块已发布。 [复制链接]
查看:315 | 回复:30

224

主题

2144

回帖

5032

积分

论坛元老

积分
5032
 楼主| 发表于 2013-5-24 16:05:05 | 显示全部楼层

lazyzhu 发表于 2013-5-24 18:36



区别大了

一个页面有5个图片,假设访问时图片同时加载

是说已发的这个模块的两条规则区别不大。


22

主题

415

回帖

940

积分

高级会员

积分
940
发表于 2013-5-24 16:40:46 | 显示全部楼层

lazyzhu 发表于 2013-5-24 18:36



区别大了

一个页面有5个图片,假设访问时图片同时加载

嗯 是没懂 $binary_remote_addr 和 $request_uri
举个栗子
一个页面 如果html有10个
加载了5个css  3张图片
那么
$binary_remote_addr  是 4
$request_uri 是 1  
对么?
对于html中的link  和   a href  应该是不算在里面的?
因为我测试的页面图片都是外链  所以真没发现问题  一直以为$binary_remote_addr 是在定义客户端

怎么才能对$binary_remote_addr和$request_uri  计数并输出哪?
貌似这样瞎整也不好   有输出这样我就能理解点了
求带

22

主题

415

回帖

940

积分

高级会员

积分
940
发表于 2013-5-24 16:53:35 | 显示全部楼层

smyz 发表于 2013-5-24 17:45



3r/s 是小了些
$request_uri  是当前请求url
$binary_remote_addr 是客户端地址

嗯 我再多看看文档 多学学

22

主题

415

回帖

940

积分

高级会员

积分
940
发表于 2013-5-24 16:54:27 | 显示全部楼层
本帖最后由 Zeraba 于 2013-5-24 19:12 编辑

lazyzhu 发表于 2013-5-24 18:36



区别大了

一个页面有5个图片,假设访问时图片同时加载


对了 虽然这两行 limit_req2_zone 在http段里  img php *  超过3r/s 都会被判定到
但是
在vhost的conf里  我只在php段加了 limit_req2 zone  那这样是不是只影响php?

471

主题

8105

回帖

1万

积分

论坛元老

积分
17707
发表于 2013-5-24 17:45:28 | 显示全部楼层
本帖最后由 lazyzhu 于 2013-5-24 19:40 编辑

Zeraba 发表于 2013-5-24 19:05



嗯 是没懂 $binary_remote_addr 和 $request_uri
举个栗子
一个页面 如果html有10个


$binary_remote_addr是客户端IP,每个请求都一样,所以相当于9r/s
$request_uri是被请求链接,供9个,每个都是1r/s
$binary_remote_addr $request_uri 如果放在一起,就是每个IP的请求

$request_uri 和 $uri 有区别
比如三个$request_uri
http://lazyzhu.com/123456.html
http://lazyzhu.com/123456.html?q=1
http://lazyzhu.com/123456.html?q=2
其$uri都是http://lazyzhu.com/123456.html
所以可以看出$request_uri 更具体




所以最佳方案可以设置这样三条

#  同一链接的请求限制在50次/秒,防止多IP的CC
limit_req2_zone $request_uri zone=one:3m rate=50r/s;
# 同一IP最多同时20个请求,保证正常的浏览要求
limit_req2_zone $binary_remote_addr zone=two:3m rate=20r/s;
#  同一IP相同的请求限制在3次/秒,防止单IP的CC
limit_req2_zone $binary_remote_addr $request_uri zone=three:3m rate=3r/s;


上面参数需根据实际情况调节




121

主题

116

回帖

663

积分

高级会员

积分
663
发表于 2013-5-24 17:22:00 | 显示全部楼层
jjabc,我的心在等待,永远在等待。

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2013-5-24 18:36:08 | 显示全部楼层

lazyzhu 发表于 2013-5-24 19:28



$binary_remote_addr是客户端IP,每个请求都一样,所以相当于9r/s
$request_uri是被请求链接,供9个,每 ...

嗯 谢谢啊

#  规则 one 所有的ip发起的请求数(包括参数)超过50/秒。可防止多IP的CC
limit_req2_zone $request_uri zone=one:3m rate=50r/s;
# 规则 two 同一IP最多同时发起20个请求,保证正常的浏览要求。可防止过多请求)
limit_req2_zone $binary_remote_addr zone=two:3m rate=20r/s;
#  规则three 同一IP发起的请求(包括参数)在3次/秒。可防止单IP的CC
limit_req2_zone $binary_remote_addr $request_uri zone=three:3m rate=3r/s;

我原来的参数
limit_req2_zone $binary_remote_addr $uri zone=one:3m rate=3r/s;
limit_req2_zone $binary_remote_addr $request_uri zone=two:3m rate=3r/s

应该都是同一ip发起的请求了 就是有参数和没参数的区别而已了  设置的很差
你给的好很多啊

再然后只要在vhost的配置中加入
three rewrite mjj.html
two retrun 502
one return 400
就挺好了?





对了
three rewrite mjj.html
two retrun 502
one return 400
这三个能设置时效吗?  return 400  30s 之类的
月妹妹博客 和 你之前loc 都提到用lua写?

有栗子吃么?模块越来越多了 支持个

39

主题

819

回帖

1787

积分

金牌会员

积分
1787
发表于 2013-5-24 17:45:00 | 显示全部楼层
limit_req2_zone $binary_remote_addr $request_uri zone=two:3m rate=3r/s
这个貌似有点不科学,我设置为8r/s,axel 开 5个线程都被命中了,好奇怪

18

主题

2536

回帖

5208

积分

论坛元老

积分
5208
发表于 2013-5-24 19:03:43 | 显示全部楼层
支持咯~

75

主题

673

回帖

1647

积分

金牌会员

积分
1647
发表于 2013-5-24 18:36:00 | 显示全部楼层
模块下载失败:limit_req2_nginx_module-1.0
您需要登录后才可以回帖 登录 | 立即注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

Archiver|手机版|Discuz! X

GMT+8, 2026-7-29 06:32 , Processed in 0.016467 second(s), 3 queries , Gzip On, Redis On.

返回顶部