fix: 改密计入锁定并清理过期管理员会话

This commit is contained in:
Nixevol
2026-09-30 16:22:48 +08:00
parent b3787a0471
commit 1cb562fb71
4 changed files with 108 additions and 2 deletions
+9
View File
@@ -926,6 +926,15 @@
- 备选方案:导入超限静默改成上限;未采用,改为行错误让管理员改表。
- 影响:超上限返回 400 或 CSV 行错误。
### 复审修复 H-06
- 日期:2026-09-30
- 原条款:PRD §8 管理员登录防暴力;admin-api 2.4 改密作废其它会话;审查 #49。
- 实际做法:改管理员密码时旧密码校验计入 `LockAdminIP`,锁定返回 429,成功清零。登录写入会话的同一事务删除过期 `admin_sessions`。作废其它会话失败返回 500 并写审计。
- 原因:持有 Cookie 可无限猜旧密码;过期会话从不清理;作废失败被忽略。
- 备选方案:改密失败不返回 401(与契约不符);未采用。W-01 排除改密 401 自动登出。
- 影响:连续 10 次旧密码错误后锁定;过期会话行在下次登录清除。
## 后台网页 W
1. **W1–W3 阶段使用内存假数据,不请求真实 `/api/admin`**