我可以在 JS 中看到 cookie 域特异性吗?
Can I see cookie domain specificity in JS?
当我在域 some.example.com
上时,浏览器同时使用为 some.example.com
和 .example.com
设置的 cookie。我可以很容易地看到这个 cookie 域的特殊性与各种浏览器扩展,e。 G。 EditThisCookie 或 Cookie 检查器。
我的问题是:我可以读取(甚至写入)JavaScript 中的 cookie 域吗?
(我发现了一个关于 cookie 路径的相关 answer,但它既没有被接受也没有被投票。也许有一些 hack 可以让我只看到域,而不是路径. 一个快速而脆弱的 hack 对我来说就足够了——这是为了开发和测试目的。)
简答:没有。
原因是为了安全和沙盒。浏览器有意限制 JavaScript 能够了解的有关浏览器的信息,以防止跨站点脚本和窥探。
您能够分辨的唯一方法是您是否以某种方式修改了 cookie 中的数据以提供一些指示。一个例子是,如果该值通常是 5
,您可以将其更改为 .example.com|5
或 some.example.com|5
(在您设置该值时),然后在您去读取值。
否则,你就不走运了。
当我在域 some.example.com
上时,浏览器同时使用为 some.example.com
和 .example.com
设置的 cookie。我可以很容易地看到这个 cookie 域的特殊性与各种浏览器扩展,e。 G。 EditThisCookie 或 Cookie 检查器。
我的问题是:我可以读取(甚至写入)JavaScript 中的 cookie 域吗?
(我发现了一个关于 cookie 路径的相关 answer,但它既没有被接受也没有被投票。也许有一些 hack 可以让我只看到域,而不是路径. 一个快速而脆弱的 hack 对我来说就足够了——这是为了开发和测试目的。)
简答:没有。
原因是为了安全和沙盒。浏览器有意限制 JavaScript 能够了解的有关浏览器的信息,以防止跨站点脚本和窥探。
您能够分辨的唯一方法是您是否以某种方式修改了 cookie 中的数据以提供一些指示。一个例子是,如果该值通常是 5
,您可以将其更改为 .example.com|5
或 some.example.com|5
(在您设置该值时),然后在您去读取值。
否则,你就不走运了。