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

ARGUS 1月13日 发布

  • 推荐 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

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

  1. NGINX的奇淫技巧 —— 7. IF实现数学比较功能 (2)

    接上文 <NGINX的奇淫技巧 -- 6. IF实现数学比较功能 (1)> NGINX竟然不支持这样的写法.... location = /test/ {default_type html ...

  2. idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率

    idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率 !!! 知道类名查找你本地以的类 (你pom中依赖的类+你自己创建的类)------------- ctrl+shift+t 修改你创建 ...

  3. Qt奇淫技巧-使用QSharedMemory方式实现数据跨界面传输

    关于QSharedMemory相关的知识点在下面这个链接中! https://blog.csdn.net/qq78442761/article/details/81738155 这里使用QShared ...

  4. 输入n个字符串字典序排序_30个Python奇淫技巧集

    今天小编熬夜整理了一份,内容是基础篇覆盖了字符串,列表,字典和基础序列容器.不要小看青铜篇,这份资料里面收集了很多奇淫技巧,很多小编也是第一次遇到,非常值得收藏. 下面我挑选几个给大家看一下,小编觉得 ...

  5. JavaScript奇淫技巧:按键精灵

    JavaScript奇淫技巧:按键精灵 按键精灵之类的自动化工具,可以解放双手,帮我们自动完成许多工作,在很多场景中,可以极大提升生产力. 本文将展示:用JavaScript实现一个"按键精 ...

  6. 【JavaScript】转载:JS高端奇淫技巧

    转自 : https://blog.csdn.net/github_38885296/article/details/91038735 感谢作者(流浪的狗和一坨屎)分享 众所周知, JavaScrip ...

  7. JavaScript奇淫技巧:隐写术

    JavaScript奇淫技巧:隐写术 本文将用JavaScript实现"图片隐写术". 什么是隐写术? 将文本或其它数据写入图片的技术,称为"隐写术". 比如下 ...

  8. 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    大家好,我是小伍哥. 数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方 ...

  9. JavaScript:探索神秘的旁门左道奇淫技巧

    引言: JavaScript作为一种广泛使用的编程语言,具有出色的灵活性和强大的功能.除了其常规用途外,它还隐藏着一些奇淫技巧,这些技巧可以让你在编程过程中事半功倍.本文将揭示JavaScript的一 ...

最新文章

  1. 在Redis中设置了过期时间的Key,需要注意哪些问题?
  2. ubuntu的SSH的安装和免密码登陆
  3. MKTickerView
  4. 如何10分钟入门3D游戏开发?
  5. 如何开始学习编程?这 3 步很重要
  6. vue 开发2017年变化回顾及2018年展望
  7. Iphone开发之音频101(part 2):转换和录音
  8. 怪异的万圣节:图标素材,给对生活有仪式感的设计师!
  9. Prometheus Alertmanager 报警模块
  10. jQuery调用WebService ( 同源调用)
  11. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_10 打印流_1_打印流_概述和使用...
  12. HTML朗读可以用英文吗,关于英语朗读的方法技巧
  13. 自动透视校正为四边形对象
  14. 正月十五闹元宵,平安吉祥乐团圆
  15. 今年很火的AI绘画怎么玩
  16. 联想万全r520服务器安装系统,联想(lenovo)万全R520服务器图解
  17. 优维科技EasyOps6.0升级发布会,全程高能回顾
  18. 微机原理与接口技术总结
  19. 创业维艰---分享这三年的揪心历程
  20. java中format

热门文章

  1. springboot基于微信小程序的运动软件前端的设计与实现别用设计源码100932
  2. python定义全局变量 跨文件使用
  3. 脑功能成像大杂烩|有此神器,神经影像配准不再需要高分辨3D T1w
  4. ios设备投屏到mac_使用Mac和iOS设备提高工作效率
  5. Selenium测试时清理chromedriver【linux\windows通用】
  6. Dundas Chart for .NET 控件的简单使用
  7. PPT基础教学(从PPT图片插入讲解的水平,真的不能再基础)
  8. PXIEBPMCx4载板转接卡
  9. 一文解决MySQL突击面试,关键知识点总结
  10. mini2440基于motion的移动图像监控系统和基于SDL的远程监控