文档:浏览器注入ck未登录根因=domain需带前导点(.huya.com),host-only仅主域生效
This commit is contained in:
@@ -150,3 +150,41 @@ isRole),RPC 往返全部正常;604 是账号真实积分状态(历史兑
|
||||
必须用生成值跑通线上活动 WSS 全链路才能定论,不能只过长度测试。
|
||||
2. 统计字段随机值不影响接口语义,但**顺序**建议与 9.1 cookie 保持一致以便对照。
|
||||
3. 补齐后仍需**新鲜的 udb 登录态**(905 = 过期),登录链路见 `app_login.py`。
|
||||
## 九、浏览器注入 ck 未登录的根因(2026-09-01 晚实测确认)
|
||||
|
||||
现象:把 App 扫码登录产出的 41 字段网页 ck 注入浏览器,打开 www.huya.com 顶部仍显示
|
||||
"登录"按钮(未登录)。
|
||||
|
||||
排查过程(CDP 有头 Chrome 实测):
|
||||
|
||||
1. ck 本身有效:curl 带该 ck 请求
|
||||
`l.huya.com/udb_web/udbport2.php?m=HuyaLogin&do=checkLogin` 返回
|
||||
`{"isLogined":true,"userName":"hy_300539756","uid":"1199667330433",...}`;
|
||||
8.31 真实扫码登录抓包的 checkLogin 成功值与 verify data:null 均一致。
|
||||
注意:`user.huya.com/liveHttpUI/checkUserTimeIsLogin` 的 `iIsLogin:0` 不判定
|
||||
登录态 —— 真实网页 ck 抓包同样为 0,可排除。
|
||||
2. `web/cookie/verify` 的 `data:null` 也是正常成功形态,非未登录信号。
|
||||
3. document.cookie 检查发现:注入后页面里只有设备字段(guid 等)、没有
|
||||
udb_uid/udb_cred/udb_biztoken/yyuid —— 登录凭据没有被 www.huya.com 子域携带。
|
||||
|
||||
**根因:Network.setCookie 的 domain 参数不能写 `huya.com`,必须写 `.huya.com`
|
||||
(带前导点)。**
|
||||
|
||||
- `domain="huya.com"`(无前导点)→ Chrome 存为 **host-only cookie**,只有精确访问
|
||||
`huya.com` 时才发送;`www.huya.com` / `l.huya.com` / `udblgn.huya.com` /
|
||||
`user.huya.com` 等**所有子域都不会携带** → 页面意义上的登录判定失败。
|
||||
- `domain=".huya.com"`(带前导点)→ 存为 **domain cookie**,huya.com 及其全部子域
|
||||
都携带。实测注入后 `document.cookie` 含全部字段,顶部导航"登录"按钮消失、
|
||||
出现登录用户专属项(如"关注")。
|
||||
|
||||
正确注入姿势(CDP):
|
||||
|
||||
```json
|
||||
{"method":"Network.setCookie","params":{
|
||||
"name":"udb_uid","value":"1199667330433","domain":".huya.com",
|
||||
"path":"/","secure":false,"httpOnly":false}}
|
||||
```
|
||||
|
||||
手工用浏览器插件/DevTools 注入时同样注意:Domain 填 `.huya.com`(用户输入时 Chrome
|
||||
会规范化为前导点形式;若插件按 host-only 保存则无效)。HttpOnly 无需设置 ——
|
||||
uzb_* 登录凭据在真实网页中可由脚本读取,非 HttpOnly。
|
||||
|
||||
Reference in New Issue
Block a user