外观
安全防护
提供多层次的安全防护能力,包括 IP 封禁、请求限流、XSS 过滤、HTTP 安全头、CORS 策略和 SSL 证书自动续期。
概述
安全防护系统贯穿请求处理的全链路,从网络层到应用层提供多层防护,保护产品免受常见 Web 攻击。
核心能力
1. IP 封禁
- 自动封禁异常请求 IP
- 支持手动添加封禁规则
- IP 白名单机制
- 封禁记录持久化(
BlockedIp表)
2. 请求限流
- 基于 express-rate-limit
- 每 15 分钟窗口限流
- 可配置请求上限
- 防止暴力破解和 DDoS 攻击
3. XSS 防护
- 使用 xss 库过滤用户输入
- 输出编码
- Content Security Policy 配置
4. HTTP 安全头
使用 helmet 中间件设置安全相关的 HTTP 头:
- X-Content-Type-Options
- X-Frame-Options
- X-XSS-Protection
- Strict-Transport-Security
5. CORS 策略
- 可配置的跨域访问控制
- 支持多域名白名单
- 预检请求处理
6. SSL 证书
- ACME 协议自动申请和续期
- 定时任务检查证书有效期
- Let's Encrypt 支持
中间件管线
请求经过的安全防护中间件顺序:
ClientIpMiddleware → BlockIpMiddleware → RateLimitMiddleware
→ HelmetMiddleware → CorsMiddleware → ...业务中间件...1
2
2
相关文件
src/middlewares/BlockIpMiddleware.mts— IP 封禁中间件src/middlewares/RateLimitMiddleware.mts— 限流中间件src/middlewares/HelmetMiddleware.mts— 安全头中间件src/middlewares/CorsMiddleware.mts— CORS 中间件src/middlewares/ClientIpMiddleware.mts— 客户端 IP 识别src/services/pathTraversalAttack.mts— 路径遍历攻击防护src/models/BlockedIp.mts— 封禁 IP 模型schedules/jobSSLCertificate.mts— SSL 证书续期任务scripts/job-ssl-cert-renewal.mts— SSL 证书续期脚本