网站可以共享存储在客户端的数据吗?

时间:2016-05-27 17:47:56

标签: security cookies web

网站是否有办法与浏览器上的其他存储数据进行通信?

我认为Cookie严格适用于同一个域(和子域名),但我注意到网站似乎能够跟踪我在其他网站上的存在的可疑案例。

我还有NoScript来阻止每个站点的JavaScripts。

2 个答案:

答案 0 :(得分:1)

他们最有可能使用的是第三方Cookie或超级Cookie。如果你不确定这些是什么意思,请查看他们在维基百科上的定义:

https://en.wikipedia.org/wiki/HTTP_cookie#Supercookie https://en.wikipedia.org/wiki/HTTP_cookie#Privacy_and_third-party_cookies

答案 1 :(得分:0)

当然,通过3rd party cookies。这是一个简单的例子:

想象一下,如果您访问的网站包含此代码:

<script src="//tracker.example.com/foo.js"></script>

foo.js是动态生成的。如果浏览器未向tracker.example.com域发送cookie,则会生成唯一ID并将其存储在Cookie中。

e.g。 cookie由HTTP响应头设置,为用户分配一个新的全局唯一ID:

Set-Cookie: userid=d68267df-35f4-4443-9d8a-3afeebdf8f95

在对foo.js的后续请求(包括浏览器的Cookie值)中,foo.js代码可以根据此Cookie值设置变量。

var userId = 'd68267df-35f4-4443-9d8a-3afeebdf8f95';

这允许网站跟踪此ID下的所有操作。例如然后,域example.net可以使用该userId设置自己的cookie,因此用户所做的任何事情都会被该ID记录(点击example.net/shiny_thing现在将在cookie中设置ID)。

因此,如果两个网站example.netexample.org使用此tracker.example.com调用的脚本并使用相同的后端数据存储,则他们可以跟踪您的活动并知道userId d68267df-35f4-4443-9d8a-3afeebdf8f95点击了example.org上的foo,bar和foobar,并点击example.net上闪亮的东西。

如果您禁用了JavaScript,则此类跟踪更加困难,但并非不可能。最好的方法是禁用第三方cookie,而不是依赖JavaScript被禁用。