如何控制网站在 Firefox 中使用 localStorage?

Izz*_*zzy 14 firefox local-storage

随着越来越多的站点从使用 cookie 切换到使用 localStorage 来存储他们的数据(包括“跟踪错误”),我担心用户可以在多大程度上控制它。使用 cookie,人们可以设置适当的策略,例如阻止 3rd 方 cookie 或始终被询问。我找不到 localStorage 的相应设置。

搜索 SU,我发现了一个类似的 Chrome 问题:disable HTML5 LocalStorage and Databases for all pages / or ask user。我还阅读了如何允许一个特定用户脚本的本地存储,但全局禁用它?(它没有回答我的问题)和Firefox 本地存储和缓存问题(也说明缺少文档,但没有回答我的问题)。我在 Google 搜索中几乎什么也没找到。

我在 SE 开始时遇到的一般问题(请参阅MSO)并通过Eric 的博客解决了,让我假设 cookie 设置至少以某种方式连接到 localStorage;但由于它没有记录,我不想依靠一个 FF 版本的“尝试和错误”来得出一般结论。

有没有关于这方面的一些文件?如果用户无法控制哪个站点将数据存储到 localStorage 中,我会认为这是一个很大的隐私侵犯,所以它必须以某种方式成为可能。

TL;DR:是根据 cookie 政策完成的吗?如果没有,用户如何控制它?

小智 12

Firefox 的 cookie 和 localstorage 之间的关系(来自https://bugzilla.mozilla.org/show_bug.cgi?id=341524):

  • 禁用 cookie 会禁用存储,除非该站点在白名单中。
  • 启用所有 cookie 会启用存储,除非站点在阻止列表中。
  • 如果在阻止列表中将站点设置为仅会话,则只能使用会话存储。全局存储被视为会话存储。
  • 类似地,如果 cookie 首选项设置为仅会话,则所有存储使用都是仅会话
  • 如果 cookie 首选项设置为提示,则将其视为拒绝 cookie。不确定我们是否希望在此处进行提示。cookie 是在每次设置 cookie 时提示,还是每次会话只提示一次?
  • 隐藏首选项 dom.storage.disabled 可用于禁用 DOM 存储。

因此,您应该能够使用Cookie Monster等 cookie 管理器来控制本地存储。

要在 Firefox 中查看/删除持久性本地存储,您可以使用Foundstone HTML5 Local Storage ExplorerNoTrace此处列出其他相关的 Firefox 扩展。

如何在 Firefox、IE 和 Chrome 中清除和禁用 DOM 存储

在 Firefox 中清除 DOM 存储:

选择“工具”->“清除最近的历史记录”,打开“详细信息”,勾选“Cookies”并选择“一切”作为时间范围。
注意:没有其他时间范围会清除 DOM 存储。

[...]

在 Firefox 中禁用 DOM 存储:

在地址栏中输入“about:config”并按回车键查看内部浏览器设置。向下滚动到“dom.storage.enabled”,右键单击它并点击“Toggle”以禁用 DOM Storage。

绕过阻止“第三方”cookie 的意图

在概念上,HTML5 本地存储与 cookie 非常相似。在每个源的基础上,有一组磁盘持久化的名称/值对。

通过简单的测试,很容易证明 HTML5 本地存储功能不受第三方 cookie 设置的影响。

Mozilla 知道这个问题:错误 536509 - localStorage 不遵守“第三方 cookie”偏好。幸运的是,如果您取消选中 Firefox 复选框“接受来自站点的 cookie”,则仅在 Firefox 的 cookie 例外列表中允许的域上启用 localstorage。由于需要 JavaScript 来设置 localstorage,像 NoScript 这样的 JavaScript 阻塞扩展也可以缓解这个问题。

本地存储测试站点:

Firefox 问题:错误 748620 - 当 cookie 过期设置为每次都询问时,localStorage 会引发安全异常

本回答中的所有信息均改编自DOM storage: browser data storage that can bypass the Intent of Blocking third-party cookies,这是我发起的一个线程。