NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC)

文章整理中......

实现思路

  1. 当服务器接收到的单个IP并发超出阀值, 加入封禁区(弹回2).
  2. 服务器根据IP、UA、SESSION_ID、年、月、日、时、分、...进行唯一哈希, 输出成 \x00\x01 类似的JS容易理解的数据.
  3. 多次随机数, 加大破解难度.
  4. 若浏览器仍死不悔改, 继续弹回.

技术细节

  1. 单个IP并发超限, 触发limit_req规则, 在nginx内存中标识此ip的屏蔽过期时间, forbid_action=进入js混淆区.
  2. 由ip、ua、session_id、date进行哈希, 并用nginx模块进行escape化, 输出到浏览器.
  3. 用set_random输出多个随机数, 防止被脚本破解.
  4. 如果浏览器成功将哈希请求到nginx, limit_req_clear.

规则细节

  1. 当单个IP并发3秒钟内超过30, 并连续发生3次, 封禁300秒
  2. 当单个IP并发5秒钟内超过50, 并连续发生5次, 封禁3600秒
  3. 当单个IP并发10秒钟内超过100, 并连续发生6次, 封禁86400秒

上述所有的 封禁 均是指弹回加密的js, 让浏览器执行.

http{

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值