# dynamic-defense-api **Repository Path**: siyee/dynamic-defense-api ## Basic Information - **Project Name**: dynamic-defense-api - **Description**: 使用Java构建Web动态防御API系统,包含多种安全防护机制:1.Redis Lua滑动窗口限流完整版代码 2.登录接口防暴力破解+验证码联动防御 3.请求指纹(UA+IP组合)风控实现 4.前端配合防御(JS人机校验,拦截自动化 爬虫)、IP 黑名单/白名单、综合风控引擎、JWT 网关令牌、统一异常处理。一个可独立部署、供其它系统直接调用的 Java 动态防御 API 系统。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-05 - **Last Updated**: 2026-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dynamic-defense-api #### 介绍 使用Java构建Web动态防御API系统,包含多种安全防护机制:1.Redis Lua滑动窗口限流完整版代码 2.登录接口防暴力破解+验证码联动防御 3.请求指纹(UA+IP组合)风控实现 4.前端配合防御(JS人机校验,拦截自动化 爬虫)、IP 黑名单/白名单、综合风控引擎、JWT 网关令牌、统一异常处理。一个可独立部署、供其它系统直接调用的 Java 动态防御 API 系统。 #### 软件架构 软件架构说明 #### 安装教程 Java 17 + Spring Boot 3.3 + Redis + AOP,Maven 构建 一键独立部署:docker compose up -d --build,或本地 mvn clean package && java -jar 演示页:http://localhost:8080/static/index.html(演示账号 admin / admin123) #### 使用说明 编程式限流:rateLimiter.tryAcquire("rl:custom:"+userId, 60000, 20) • 注解式限流:@RateLimit(windowMs=10000, max=5) 直接标注接口 • HTTP 接口:/captcha/generate、/human-check/challenge、/api/login、/api/demo/risk、/api/blacklist/ban 等; 生产必要配置:application.yml 中的 defense.jwt.secret 必须替换为强密钥;application.yml 中所有限流阈值、解锁时间等可按业务调整。 测试说明:沙箱内 surefire 分叉启动极慢,我改用独立脚本直接驱动核心逻辑验证,滑动窗口与 PoW 均 PASS;src/test 下已保留 DefenseIntegrationTest.java(连接本地 Redis 即可运行)。 功能验证入口(3 种) ① 浏览器验证面板(可视化,推荐) 启动后访问 http://localhost:8080/static/verify.html,点击「运行全部验证」,自动逐项检测 12 类防御并显示通过/失败。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 有内蒙软件劳务外包和专业分包业务需求的,本人可承接相关业务,联系电话:15326010312(微:15754908221)