使用 jquery cookie 的第三方 cookie

Third party cookies using jquery cookie

页面 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'
});

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

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

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

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

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