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


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

    文章整理中......

    实现思路

    1. 当服务器接收到的单个IP并发超出阀值, 加入封禁区(弹回2).
    2. 服务器根据IP、UA、SESSION_ID、年、月、日、时、分、...进行唯一哈希, 输出成 x00x01 类似的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{
    
    }
  • 相关阅读:
    最大子串和
    [USACO1.5]数字金字塔 Number Triangles
    数字金字塔
    台阶问题
    取余运算
    数列分段pascal程序
    Java 集合-Collection接口和迭代器的实现
    Java 集合-集合介绍
    Java IO流-File类
    Git学习记录
  • 原文地址:https://www.cnblogs.com/archoncap/p/5045432.html
Copyright © 2020-2023  润新知