识别第三方Cookie

4

如果给定一个常见属性(名称、ID等)的 cookie,有没有办法确定这个 cookie 是否是第三方 cookie?所谓第三方 cookie 是指在访问网站 A 时由网站 B 放置的 cookie。目前,我看不到任何实现这一点的方法,但可能我错过了什么。我正在开展与用户在线隐私有关的项目,并希望获得留在用户浏览器中的第三方 cookie 列表。我使用 Mozilla Firefox 浏览器。

3个回答

5
在查看cookie存储时无法确定是否为第三方cookie。问题在于,对于某个站点而言,cookie始终是第一方的;第三方性与cookie的来源有关。唯一确定cookie是否为第三方cookie的方法是检查设置cookie的实际标头,并查看该cookie是否设置为源站点以外的域。由于cookie可以设置为整个域(因此允许foo.bar.com为.bar.com设置cookie,以便grill.bar.com也能看到cookie),所以所有事情都变得更加复杂,并且确定后缀是否为域不容易(例如,一些国家具有多级域)。最终问题在于,站点可以轻松地请求来自另一个域的某些资源,并以这种方式设置cookie。从形式上讲,这不是第三方cookie,因为它是由引用的域设置的,但其效果基本相同。

1
你比我更清晰地解释了它。我的当前解决方案是实现一个“cookie监视器”,将比较cookie的域名与当前查看的网页。接受了你的答案。谢谢。 - dfads fdasfsa

1
每个cookie都是为一个域设置的。您可以比较域名以识别第三方cookie。但也许我没有完全理解您的问题。

如果您有第三方Cookie,比如b.com,则通常是由b.com域设置的。即使是在访问a.com时放置了cookie,我也看不到cookie本身中可能会指示它的任何数据。但是也有例外,例如Google Analytics,您拥有类似_utma的Cookie,它们被设置为a.com域,并且仍可被Google Analytics访问。 - dfads fdasfsa

1

仅基于浏览器中迄今为止创建的cookie列表,无法确定cookie是否为第三方cookie。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接