页面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('name', {
data : data
}, {
path: '/',
expires: 10,
domain: 'server.com'
});发布于 2015-04-06 16:25:18
首先,理解第三方cookie和第一方cookie之间的区别是很重要的。
第一方cookie是与当前页面相同的域设置的cookie。只要在浏览器中启用cookie,您就可以设置该cookie,并且只要您所在的页面与cookie的域匹配,并且cookie中的路径集与您所在页面的路径兼容,就可以将其读取回去。任何其他域的页面都无法读取此cookie。
第三方cookie是为与当前页面的域不同的域设置的cookie。浏览器中有一个单独的安全设置,它决定是否允许您设置第三方cookie。因此,如果您在aaa.com上,您可以设置一个用于bbb.com页面的cookie。即使您可以为不同的域(如bbb.com )设置第三方cookie,但无法从aaa.com中的页面中读取该bbb.com cookie,永远是。只有来自bbb.com的页面才能读取该cookie。
此功能有时用于跟踪广告服务的目的,以帮助跟踪跨多个域的给定用户。它还可以用于帮助在使用多个域的合作站点之间共享凭据。
重要的是要了解,只有在某些代码试图设置cookie的时候才存在第一方cookie和第三方cookie之间的区别,并且这种区别用于在创建cookie时应用不同的安全规则。一旦创建了cookie,它就和任何其他cookie一样。您永远无法从其他域读取cookie,并且只有与当前页域匹配的域标记的cookie才能发送到该服务器或允许通过Javascript从该页面读取。第三方cookie的概念实际上只是一个特定的情况,允许您为另一个域设置 cookie。您永远无法从另一个域读取cookie。
https://stackoverflow.com/questions/29474873
复制相似问题