docs(skill): ui-walkthrough-cdp 红线——非安全上下文(IP/http)crypto.subtle 缺陷已修(4e486f60)+门禁经localhost系统性掩盖上下文依赖缺陷的血泪教训

走查环境 localhost=安全上下文,会掩盖 crypto.subtle/isSecureContext 等门控特性缺陷;
用户可见 UI/e2e 必须另跑真实访问 origin(IP/明文http)。当走查需 workaround 避开某失败时,
先问真实用户是否同样撞上——本次线上游戏「加载失败」即此坑被当走查技巧记着、没当产品缺陷修。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
zizi 2026-06-17 01:16:56 +00:00
parent 703e462c96
commit aff886d192

View File

@ -6,7 +6,8 @@
## 1. 大原则
- **chrome 一律在 mini-desktop 本地起**6c6g 连续 exit 144该路线已作废被测前端/后端同机,全 localhost。
- 浏览器内访问前端必须 **`http://localhost:4173`**(非 Tailscale IP宿主 manifest 校验用 `crypto.subtle`仅安全上下文https/localhost可用走 IP 会永远 demo 兜底。
- 浏览器内访问前端**优先 `http://localhost:4173`**(安全上下文,省心)。**经 Tailscale IP/明文 http 现也可用**:宿主 manifest 校验的 `crypto.subtle` 在非安全上下文缺失,已补纯 JS SHA-256 兜底2026-06-17 `4e486f60`),不再「走 IP 永远 demo 兜底」。
- **红线(此坑血泪)**上条「IP→demo 兜底」曾被当成「走查改用 localhost 规避」记着,却没意识到**创始人/真实用户正是经 IP 访问 → 线上游戏一直「加载失败」**demo 退化后 W-CLEAN 占位发 game_error。教训:**走查环境 localhost = 安全上下文,会系统性掩盖「上下文依赖缺陷」(`crypto.subtle``isSecureContext` 门控特性等);用户可见 UI/e2e 走查必须另跑一遍真实访问 originIP/明文 http不能只在 localhost 取证。当走查需要一个 workaround 才能避开某失败时,先问「真实用户会不会也撞上同一失败」。**
- chrome 起后必先 `curl -s localhost:9222/json/version` 验活再用。
## 2. CDP 七坑Chrome 146 实证,逐个血泪)