【问题标题】:Third party cookies using jquery cookie使用 jquery cookie 的第三方 cookie
【发布时间】:2015-06-11 01:31:00
【问题描述】:

有页面 domain.com,其中包括来自 server.com 的 javascript。

<script src="https://server.com/script.js"></script>

在这个脚本中,我可以轻松地将 cookie 设置为 domain.com:

$.cookie('name', {
    data : data
    }, {
    path: '/',
    expires: 10,
    domain: 'domain.com'
});

我需要在 server.com 上设置 cookie 并稍后阅读。我读到如果我从中加载内容,我可以设置第三方 cookie。为什么我不能像下面这样设置cookie?

$.cookie('name', {
    data : data
    }, {
    path: '/',
    expires: 10,
    domain: 'server.com'
});

【问题讨论】:

标签: javascript jquery cookies


【解决方案1】:

首先,了解第一方 cookie 和第三方 cookie 之间的区别很重要。

第一方 cookie 是您设置为与当前页面相同的域。只要在浏览器中启用 cookie,您就可以设置该 cookie,只要您所在的页面与 cookie 的域匹配,并且 cookie 中设置的路径与页面的路径兼容,您就可以将其读回你是一个。任何其他域的页面都无法读取此 cookie。

第三方 cookie 是您为与您当前所在页面的域不同的域设置的 cookie。浏览器中有一个单独的安全设置,用于确定您是否甚至可以设置第 3 方 cookie。因此,如果您在 aaa.com 上,您可以设置一个用于 bbb.com 页面的 cookie。即使您可以为不同的域(例如 bbb.com)设置第 3 方 cookie,您永远无法从 aaa.com 中的页面读取该 bbb.com cookie。只有 bbb.com 的页面可以读取该 cookie。

此功能有时被广告服务用于跟踪目的,以帮助跨多个域跟踪给定用户。它还可用于帮助在使用多个域的合作站点之间共享凭据。

重要的是要了解第一方 cookie 和第三方 cookie 之间的区别仅在某些代码尝试设置 cookie 时存在,并且该区别用于将不同的安全规则应用于 cookie 的创建。创建 cookie 后,它与任何其他 cookie 相同。您永远无法从其他域读取 cookie,只有标记有与当前页面域匹配的域的 cookie 才会发送到该服务器或允许通过 Javascript 从该页面读取。第 3 方 cookie 的概念实际上只是允许您为另一个域设置 cookie 的一种特定情况。您永远无法从其他域读取 cookie。

【讨论】:

  • 感谢您如此详细的回复。您能否提供相关文件或标准的链接?
猜你喜欢
  • 2018-11-25
  • 2011-02-03
  • 1970-01-01
  • 2021-04-16
  • 2012-06-28
  • 2011-03-22
  • 2020-10-13
  • 2014-11-09
  • 2012-01-19
相关资源
最近更新 更多