zzhyyyyy
|
5b74a8507d
|
test(auth): 测试号豁免发码限流的回归测试
锁定「测试号(.env TEST_ACCOUNT_PHONE)不受 /sms/send 设备限流约束」——
防有人把发码限流挪到测试账号 early-return 之前,把 QA 联调也风控了。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 12:40:58 +08:00 |
|
zzhyyyyy
|
9ff91b81ee
|
feat(auth): 发码也加同设备同IP每小时限流 — 堵换号绕开单号冷却的洞
/sms/send 增加 (device_id + IP) 每小时最多 10 次发码限流,放在真发之前(超限不烧短信)。
- 原单号 60s 冷却 / 单号每日上限都是单号维度,一机换手机号即可绕开 → 设备维度按机器封顶,挡短信轰炸/烧钱。
- 与路由上 IP 维度(10次/分钟)互补;测试号豁免。
- SmsSendRequest 加 device_id(空=按 IP 聚一桶);补回归测试。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 12:01:26 +08:00 |
|
zzhyyyyy
|
a91a04c45d
|
fix(auth): 登录限流改按设备(device_id)而非手机号 — 防一机狂登多号
sms-login 防刷限流键从 (手机号+IP) 改为 (device_id+IP):同一台机器换不同手机号刷登录
也受同一桶约束(5次/小时,成功/失败都计);device_id 空(老客户端)时退化为该 IP 聚一桶,仍受限。
测试号仍豁免。回归测试更新为设备维度(同设备换号仍被拦、换设备独立放行)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 10:55:36 +08:00 |
|
zzhyyyyy
|
41a000304e
|
feat(auth): 短信登录防刷 — 同手机号同IP 每小时限 5 次
/sms/login 增加 (手机号+IP) 每小时最多 5 次限流,挡撞库爆破/高频重登;
与路由上原有 IP 维度限流(20次/分钟,跨号)互补。
- 计数放在验证码校验之前 → 输错码的失败尝试也计数
- 测试账号(.env TEST_ACCOUNT_PHONE)豁免,走自己的每日额度
- 复用 ratelimit 内存固定窗口,受 RATE_LIMIT_ENABLED 总开关控制(默认开)
- 新增 enforce_rate_limit(供路由内按请求体字段如手机号限流)
- 补 test_auth/test_test_account 回归测试(普通号到5次被拦、测试号豁免)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 17:28:59 +08:00 |
|