qr-authuser-tip
靶子 http://localhost:20098 容器 wt_h8_tp8
── 提示页本身 ──
✔ 失配入口可达且是 HTML 页(不是裸文本) (200)
✔ 🔴 渲染出提示卡片 .tip-box (true)
✔ 自包含样式真的生效(卡片是白底) (rgb(255, 255, 255))
✔ 文案居中 (center)
✔ 标题不为空 (true)
✔ 正文告诉用户接下来该干嘛(不只是"出错了") (true)
✔ 🔴 页面不再是裸的 argues required (false)
✔ 🔴 ?l=en-us 下文案真的是英文(这一页也接了语言包) (false)
── 🔴 不可区分性(本文件最要紧的一条)──
✔ token 失配 与 另一个不存在的 uid:响应体逐字节相同 (75f3ca03e2133d5a7e0d841f9d37a174)
✔ token 失配 与 参数缺失:响应体逐字节相同 (75f3ca03e2133d5a7e0d841f9d37a174)
✔ token 失配 与 token 为空:响应体逐字节相同 (75f3ca03e2133d5a7e0d841f9d37a174)
✔ 四者的 HTTP 状态也一致 (200,200,200)
── 限流档(语义确实不同,应当分开说)──
✔ 限流档也渲染成提示页 (true)
✔ 🔴 限流档与失效档的文案不同(这一档用户能理解,值得区分) (false)
── 变异验证 ──
✔ 🔴 把响应换回改动前的裸文本 → .tip-box 必须消失 (false)
✔ 🔴 并且裸文本那条断言必须转红(证明它有分辨力) (true)
标题: This QR code has expired
正文: Each QR code can only be used once. Go back to your computer, open Phone Upload again and scan the new QR code.
PASS=16 FAIL=0