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

本文介绍如何利用NGINX实现金盾防火墙功能,通过设置阈值和使用哈希算法,有效防止CC攻击。文章详细解释了实现思路和技术细节,包括对单个IP并发请求的限制、使用JS混淆区域以及随机数生成等策略,以增加破解难度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 推荐 0 推荐
  • 收藏 2 收藏,1.1k 浏览

文章整理中......

实现思路

  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{

}

转载于:https://www.cnblogs.com/archoncap/p/5045432.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值