精简短信登录风控:保留单号冷却 + 单设备频控两道 #109

Merged
guke merged 1 commits from refactor/simplify-login-ratelimit into main 2026-07-03 15:28:33 +08:00
Member

按 mentor 要求精简 SMS 登录链路的防刷策略,只保留两道主策略:

  • 单号 60s 冷却(发码,SMS_SEND_INTERVAL_SEC)
  • 单设备(device_id + IP)每小时 5 次频控(发码 + 登录,enforce_rate_limit)

删除两道:

  • 单号每日发送上限(SMS_DAILY_LIMIT_PER_PHONE)
  • 登录接口纯 IP 20 次/分钟限流(rate_limit 依赖)

验证码安全底线保留(一次性使用 + 输错 SMS_MAX_VERIFY_ATTEMPTS 次即作废),
属验证码正确性、不算限流策略,不在精简范围。

顺带清理:sms.py 移除 _daily_count/_today 及 datetime 导入;config.py 删常量;
auth.py 清理变为无用的 Depends/rate_limit 导入;同步 docs/integrations/sms.md 与
docs/后端技术实现.md 的防刷说明(并修正 sms.md 里已过时的 /sms/send rate_limit 描述)。

影响:单号发码上限由 10 条/天放宽为仅受 60s 冷却约束;登录撞库防护改由设备频控

  • 验证码错误次数上限兜底。test_auth.py 相应用例已删除/更新,auth 测试全绿。

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

按 mentor 要求精简 SMS 登录链路的防刷策略,只保留两道主策略: - 单号 60s 冷却(发码,SMS_SEND_INTERVAL_SEC) - 单设备(device_id + IP)每小时 5 次频控(发码 + 登录,enforce_rate_limit) 删除两道: - 单号每日发送上限(SMS_DAILY_LIMIT_PER_PHONE) - 登录接口纯 IP 20 次/分钟限流(rate_limit 依赖) 验证码安全底线保留(一次性使用 + 输错 SMS_MAX_VERIFY_ATTEMPTS 次即作废), 属验证码正确性、不算限流策略,不在精简范围。 顺带清理:sms.py 移除 _daily_count/_today 及 datetime 导入;config.py 删常量; auth.py 清理变为无用的 Depends/rate_limit 导入;同步 docs/integrations/sms.md 与 docs/后端技术实现.md 的防刷说明(并修正 sms.md 里已过时的 /sms/send rate_limit 描述)。 影响:单号发码上限由 10 条/天放宽为仅受 60s 冷却约束;登录撞库防护改由设备频控 + 验证码错误次数上限兜底。test_auth.py 相应用例已删除/更新,auth 测试全绿。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
zhuzihao added 1 commit 2026-07-03 11:59:21 +08:00
按 mentor 要求精简 SMS 登录链路的防刷策略,只保留两道主策略:
- 单号 60s 冷却(发码,SMS_SEND_INTERVAL_SEC)
- 单设备(device_id + IP)每小时 5 次频控(发码 + 登录,enforce_rate_limit)

删除两道:
- 单号每日发送上限(SMS_DAILY_LIMIT_PER_PHONE)
- 登录接口纯 IP 20 次/分钟限流(rate_limit 依赖)

验证码安全底线保留(一次性使用 + 输错 SMS_MAX_VERIFY_ATTEMPTS 次即作废),
属验证码正确性、不算限流策略,不在精简范围。

顺带清理:sms.py 移除 _daily_count/_today 及 datetime 导入;config.py 删常量;
auth.py 清理变为无用的 Depends/rate_limit 导入;同步 docs/integrations/sms.md 与
docs/后端技术实现.md 的防刷说明(并修正 sms.md 里已过时的 /sms/send rate_limit 描述)。

影响:单号发码上限由 10 条/天放宽为仅受 60s 冷却约束;登录撞库防护改由设备频控
+ 验证码错误次数上限兜底。test_auth.py 相应用例已删除/更新,auth 测试全绿。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
guke merged commit 93f052535e into main 2026-07-03 15:28:33 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WonderableAI/shaguabijia-app-server#109