参考手册Workspace 包参考
频率限制
防止 API 被过度调用,支持滑动窗口算法和 Redis 存储
这是什么
频率限制(Rate Limiting)就是限制某个操作在一定时间内能被调用多少次。比如:一个 IP 每分钟最多尝试登录 5 次,一个手机号每小时最多收 3 条短信。
这能防止恶意攻击(暴力破解密码、刷短信、刷接口)。
能做什么
- API 接口限流:限制
/api/*路径的调用频率 - 登录保护:限制同一 IP/账号的登录尝试次数
- 短信保护:限制同一手机号的短信发送频率
- 分级限流:不同接口设不同的限制(比如发短信比查数据限制更严)
频率限制默认用内存存储(重启就清零),适合开发环境。生产环境建议配 Redis,避免多实例间限流失效。
怎么配置
默认用内存存储(重启就清零)。生产环境建议配 Redis(跨进程共享),在 .env.local 里设置 Redis 连接地址。
大概原理
请求进来 → 检查时间窗口内的请求次数
↓
超过限制?→ 返回 429(请求过多)
未超限制?→ 放行,计数器 +1