【问题标题】:Read Third Party Cookie in Javascript and Server在 Javascript 和服务器中读取第三方 Cookie
【发布时间】:2012-08-19 19:25:35
【问题描述】:

如果域foo.com 具有cookie bar=1,则在作为第一方访问该域时放置cookie。 (所以,假设是:cookie已经存在,不是会话cookie,不是http-only,根下的cookie“/”。这个问题不是写cookie,而是读。)

此外,浏览器禁用了 3rd 方 cookie 并且没有其他插件,只是一个干净安装的浏览器禁用了 3rd 方。 foo.com 上也没有 P3P 标头。

在上述情况下,我的问题是:

当页面foo.com/somepage.html 被放置在不同域(第三方)下的 iframe 中时

  1. 浏览器在读取页面时会发送cookiebar=1到服务器吗?
  2. 页面中的JavaScript能否读取cookiebar=1
  3. 我认为上述两种情况下浏览器会有什么不同吗?

其他问题

我不需要答案,因为我不使用这种情况,但很想知道。

如果可以读取,浏览器是否会在上述条件下更新cookie(很像写入)(并且旧cookie在那里,只需要更新(不是新写入))?

【问题讨论】:

  • 但是该页面已被放置在不同域的 iFrame 中,这对我来说是第 3 方 cookie。
  • 啊,我明白了 - 对不起,我的错误。

标签: javascript cookies browser


【解决方案1】:

1.) 浏览器在读取页面时会发送cookie bar=1 到服务器吗?

是的。

2.) 页面中的 JavaScript 可以读取 cookie bar=1 吗?

这取决于它是否是会话 cookie(使用 HttpOnly 标志创建)。如果它是会话 cookie,则无法从 javascrit 中读取它。它将通过foo.com 发送到服务器,并且服务器端脚本将能够读取它。

3.) 在以上两种情况下,我会期望浏览器有什么不同吗?

没有。

当然,以上所有内容都适用于 iframe 中的 foo.com 域。包含 HTML 页面和服务器对该 cookie 的访问权限为 0。

【讨论】:

  • 谢谢。可以工作的浏览器会包括IE6吗?顺便说一句,我更新了我的问题并提出了一个额外的问题,但我希望答案是否定的。
  • IE6!哇!我想答案是肯定的,但老实说我不太确定。我几乎不能将 IE6 视为浏览器。如果您需要支持它,我建议您测试该场景。至于你的其他问题,我必须承认我不明白。
  • 我想在IE6上试试,就是找不到:(这些天我什至不知道如何获得IE6,但作为支持它,不是真的,只需要考虑它。只是忘了附加的问题,反正一定是没有。
  • www.browserstack.com 将让您在 IE6 上进行测试。
  • 经过一些测试,我认为 1) 应该是没有。第一方设置的cookie作为第三方时不会发送到服务器,但页面js可以读取。
猜你喜欢
  • 2011-03-22
  • 2021-05-01
  • 1970-01-01
  • 2013-10-30
  • 2012-01-19
  • 2017-01-29
  • 2022-07-05
  • 2020-10-13
  • 2014-11-09
相关资源
最近更新 更多