RFC6265,cookie 可以在两个站点之间跟踪用户,这是如何实现的?

RFC6265,cookie 可以在两个站点之间跟踪用户,这是如何实现的?

在 RFC 6265 中第 7.1 节, 它说:

特别令人担忧的是所谓的“第三方” Cookie。在呈现 HTML 文档时,用户代理通常会向其他服务器(例如广告网络)请求资源。即使用户从未直接访问过服务器,这些第三方服务器也可以使用 Cookie 来跟踪用户。

例如,如果用户(使用同一台计算机和相同的 Web 浏览器软件,IE/Chrome 等)访问包含第三方(P)内容的网站(A.com),然后访问包含同一第三方(P)内容的另一个网站(B.com),则第三方可以追踪两个站点之间的用户。

在此处输入图片描述

我很好奇,这是什么意思在两个网站之间跟踪用户

具体来说……

  • 假设我是那个用户,
  • A.com的html包含一个<img>标签,从服务器P抓取图像,B.com也做了同样的事情;
  • 我早上访问 A.com 然后晚上访问 B.com;

通过在我的计算机上存储 cookie,P 知道我在早上和晚上都有浏览网页的行为(毫无疑问),P 能知道我早上浏览的是 A.com(而不是 B.com)吗?

答案1

好吧,我发现了,正如https://en.wikipedia.org/wiki/HTTP_cookie#Third-party_cookie

对于像这样的简单 index.html:

<!doctype html>
<body>
  <p>An image below:</p>
  <img src="https://chjfth.github.io/web/res/bg-pagehead.jpg"/>
</body>

当在 Web 浏览器中查看它时,它会发送这样的 HTTP 请求来获取图像文件:

GET https://chjfth.github.io/web/res/bg-pagehead.jpg HTTP/1.1
Accept: image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5
Referer: http://10.22.3.84:5000/seeimage/index.html
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: chjfth.github.io
If-Modified-Since: Fri, 13 Sep 2019 11:24:09 GMT
If-None-Match: "5d7b7c59-3534"
DNT: 1
Connection: Keep-Alive

注意这一Referer: http://10.22.3.84:5000/seeimage/index.html行,它告诉第三方(chjfth.github.io)哪个网页正在获取图像文件。

相关内容