diff --git a/docs/云端全项目测试报告.md b/docs/云端全项目测试报告.md index 633fb5e..6ae3447 100644 --- a/docs/云端全项目测试报告.md +++ b/docs/云端全项目测试报告.md @@ -578,3 +578,20 @@ smail/ - [✓] 02:15 按已授权范围清理明确的旧发布包 `/opt/smail-release-b2bfa09.tar.gz`;检查 `/opt` 顶层同名发布包仅剩本次 `smail-release-218337d.tar.gz`,没有新增云端备份。此结论不扩展到未检查的其他历史目录。 - [✓] 清理前置检查发现当前运行目录两层范围内只有 `data/smail.db` 一份 SQLite 数据库,主进程文件描述符也仅打开该数据库。此项不代替三种数据库后端在所有部署方式下的验收。 - [ ] 本轮未清库、未重新初始化、未操作用户手动页面,未执行新的浏览器业务测试。完整安全码恢复、通知 SMTP 图形客户端、外部邮箱及最终清库生产全流程等门槛继续保持未完成。 + +## 2026-09-26 清库后安全恢复浏览器复验 + +本节记录本轮清库、初始化后的连续浏览器验收。页面操作均通过 Chrome DevTools MCP 的可见页面控件完成;未调用业务 API、未执行浏览器脚本、未使用辅助测试脚本。用户手动页面未操作。 + +- [✓] 超级管理员通过用户管理页面创建 `reviewb` 普通用户,使用本次测试统一密码登录成功;登录后页面显示“普通用户”,首次登录出现账户安全提示。 +- [✓] `reviewb` 通过安全设置页面配置密保问题,并在安全码页面生成离线恢复码。恢复码仅用于当前浏览器验证,没有写入报告、文件或提交记录。 +- [✓] 在独立恢复页面输入 `reviewb`,使用未使用的离线恢复码完成身份验证并重置密码;随后使用统一测试密码重新登录成功。 +- [✓] 同一恢复码再次提交时,页面提示“验证未通过或流程已失效”,证明恢复码不可重放。 +- [✓] 生成第二批测试恢复码后,通过安全设置页面执行撤销;在仍打开的恢复页面提交该批恢复码同样被拒绝,证明撤销立即生效。 +- [✓] 撤销后 `reviewb` 的安全设置显示未配置有效离线恢复码;没有留下助手可继续使用的普通账号恢复凭据。 +- [✓] 在独立恢复页面输入超级管理员账号 `xuans`,页面明确提示超级管理员不能通过登录页通道重置密码,需使用已登录安全中心或部署端本机恢复通道。 +- [✓] 撤销超级管理员本轮测试恢复码后,页面提示至少启用一种安全验证;随后通过页面注销。当前未保留本轮生成的超级管理员恢复码。 + +说明:普通用户安全设置中的密保说明是“密保问题不能单独重置密码,必须与离线恢复码组合使用”;本轮公开登录页恢复入口展示的是独立的离线恢复码通道,未将密保问题单独冒充为公开恢复方式,也未将两条不同恢复入口合并宣称为同一流程。密保答案组合的部署端本机恢复路径仍未通过浏览器页面完成验收。 + +本轮复验后,完整密码恢复链路的“公开恢复码一次性使用、撤销即时失效、超级管理员公开入口隔离”已通过;外部邮箱真实验证、通知 SMTP 图形客户端、IMAP/POP3 隔离、密保答案组合恢复及最终生产放行仍未完成。