返回 Bug 清单
BUG-0370project-29中已修复backend-logic
前端试图读取 httpOnly cookie 判断登录态 —— 永远读不到,永远显示登录按钮
发现:2026-10-01验证:2026-10-09置信度:95%
症状
用户已登录但导航栏永远显示『登录』按钮;刷新无效,因为 HttpOnly cookie 对 JS 永不可见——这是协议设计而非 bug。
根因
把『会话凭证安全(HttpOnly)』与『登录态展示』耦合在同一个载体上。HttpOnly 挡住了 XSS 偷 token,也挡住了前端读它——两者本来就该用不同信令。
修复方案
1) 登录态改由服务端下发:布局服务端读 cookie 后以 props(isLoggedIn/ucSub)传给组件;
2) 或提供只读的用户信息端点(/me),前端用它判断登录态;
3) 架构规则:HttpOnly cookie 永不出现在前端判断逻辑里。
检测命令
grep -rn 'document.cookie' <前端源码> | grep -i session;核对对应 cookie 是否 HttpOnly错误签名
登录组件用 document.cookie 读 uc_session(HttpOnly)判断 isLoggedIn → 恒为 false技术信息
来源项目
project-29
标签
httponly, login-state, ssr-props, document-cookie, auth-architecture