gpt4 book ai didi

javascript - 是否可以将 domain.ext、sub1.domain.ext 和 sub2.domain.ext 的 cookie 相互隔离?

转载 作者:行者123 更新时间:2023-11-30 13:37:37 31 4
gpt4 key购买 nike

我正在开发一个由 domain.ext 提供的网络应用程序。此 Web 应用程序使用基于 cookie 的 session ,并为用户提供在子域上托管包含自定义 JavaScript 的网页的能力,例如。 sub1.domain.ext,sub2.domain.ext。子域不使用 cookie 支持的 session 。

鉴于此设置,是否可以确保以下内容?:

  1. sub1.domain.ext 的用户无法读取或写入 domain.ext 的 cookie(即 domain.ext session 不能被 sub1.domain.ext 页面中嵌入的 JavaScript 窃取或劫持)。
  2. 嵌入在 sub1.domain.ext 页面中的 JavaScript 无法读取或写入 sub2.domain.ext 中的 cookie,反之亦然。

我已经测试了一些东西,例如,似乎可以通过运行 document.domain = 'domain.ext' 与来自 sub1.domain.ext 的 domain.ext 的 cookie 进行交互在 sub1.domain.ext 的窗口内。有什么方法可以防止这种情况发生,例如在从 domain.ext 设置域时指定某种策略?

最佳答案

您不能通过设置 domain 参数来指定 cookie 只对 example.com 有效。如果您设置domain=example.com,它将对*.example.com有效。

example.com 上设置 cookie 没有 domain 参数只为 example.com 设置 cookie在大多数浏览器中。但不是 IE。

因此,如果您希望子域具有单独的 cookie 上下文,您应该仅从 www.example.com 为您的站点提供服务。正如 Gaby 所说,通过将 301 重定向到 www 版本,您自然仍然可以支持通过 example.com 进行访问。

关于javascript - 是否可以将 domain.ext、sub1.domain.ext 和 sub2.domain.ext 的 cookie 相互隔离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4074027/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com