【发布时间】:2021-02-09 22:05:41
【问题描述】:
我有以下情况:
- 在 another_domain.com 页面中带有 src=domain1.com 的 Javascript 标记
- Javascript 标记从 domain1.com 服务器返回 cookie 标头和脚本内容
- 脚本内容收集数据并通过请求将其发送到 domain1.com
我希望能够在第 2 点设置 cookie 并在第 3 点恢复它。我已经能够通过返回这样的 Set-Cookie 标头来设置 cookie:
set-cookie: cookieName="cookieValue";Version=1;Domain=domain1.com;Path=/;SameSite=None;Max-Age=600;安全
但我无法在第 3 点的请求中恢复它,因为 cookie 没有随请求一起发送。
所以,现在有两个问题:
-
我需要在第二个请求中手动发送 cookie 吗?在进行重定向测试时,cookie 标头“自动附加”到第二个请求,我能够恢复它,但是来自 javascript 标记的请求不会发生这种情况。
-
我只能在 https(安全 cookie)和脚本中使用 SameSite=None 设置 cookie?在不使用 Secure 和 SameSite=None 或在 http 环境中尝试时,未设置 cookie,并且开发者控制台抛出了跨站点错误。
感谢阅读。
【问题讨论】:
标签: javascript cookies