参考手册Workspace 包参考

频率限制

防止 API 被过度调用,支持滑动窗口算法和 Redis 存储

这是什么

频率限制(Rate Limiting)就是限制某个操作在一定时间内能被调用多少次。比如:一个 IP 每分钟最多尝试登录 5 次,一个手机号每小时最多收 3 条短信。

这能防止恶意攻击(暴力破解密码、刷短信、刷接口)。

能做什么

  • API 接口限流:限制 /api/* 路径的调用频率
  • 登录保护:限制同一 IP/账号的登录尝试次数
  • 短信保护:限制同一手机号的短信发送频率
  • 分级限流:不同接口设不同的限制(比如发短信比查数据限制更严)

频率限制默认用内存存储(重启就清零),适合开发环境。生产环境建议配 Redis,避免多实例间限流失效。

怎么配置

默认用内存存储(重启就清零)。生产环境建议配 Redis(跨进程共享),在 .env.local 里设置 Redis 连接地址。

大概原理

请求进来 → 检查时间窗口内的请求次数

         超过限制?→ 返回 429(请求过多)
         未超限制?→ 放行,计数器 +1