Skip to content

[错误报告] quark推送等下载中cookie未使用set-cookie #405

@kwkvh

Description

@kwkvh

确认

  • 我已确认阅读并同意 AGPL-3.0 第 15 条
    本项目不提供任何明示或暗示的担保,使用风险由您自行承担。

  • 我已确认阅读并同意 AGPL-3.0 第 16 条
    无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。

  • 我已确认是此脚本的问题,而不是其他原因(例如网络、脚本依赖或操作)。

  • 我已安装金丝雀版,并且确认金丝雀版未修复此问题。

  • 我已查找过其他议题,确认没有重复的疑问或讨论。

  • 我已修改上方的 “请修改我为您的问题” 为自己的问题。

操作系统

Windows 11

浏览器及版本

Firefox/149.0 64bit

用户脚本管理器

暴力猴 / Violentmonkey

用户脚本管理器(其他)

No response

用户脚本管理器版本

2.35

脚本版本

dev 1.1.3

问题详情

在quark盘中,请求下载地址后,脚本未考虑到当drive-pc.quark.cn设置set-cookie失败时,而直接使用document.cookie作为推送等其他下载的cookie,导致下载失败。
经过简单的测试,推送下载中cookie仅设置为drive-pc.quark.cn返回的set-cookie中键值__puus=xxx;即可成功,不需要所有的document.cookie作为cookie。(我猜uc可能也是这样,未验证)
注意:set-cookie指请求下载地址返回的的header中的set-cookie,其中包含过期时间等无用信息后续使用需要省略

复现步骤

No response

参考数据

drive-pc.quark.cn返回
set-cookie:__puus=xxx;Expires=...

脚本中一些直接使用document.cookie作为推送等下载的代码
const res = await base.sendLinkToAria2(target.data("link"), target.data("filename"), [`User-Agent:${config.$quark.api.ua.downloadLink}`, `Referer:https://${location.host}/`, `Cookie:${document.cookie}`]);
aria2: `--header "User-Agent:${config.$quark.api.ua.downloadLink}" --header "Referer:https://${location.host}/" --header "Cookie:${document.cookie}"`,
...
(或许这里也能改base.download(file.link, { "User-Agent": config.$quark.api.ua.downloadLink })

Metadata

Metadata

Assignees

Labels

bug/漏洞Something isn't working/一些玩意不工作了

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions