我的问题是关于 Chrome 或 Chromium 浏览器的微调。它支持新一代 cookie:HTML5 LocalStorage 和数据库。一些广告网站使用 LocalStorage 进行用户跟踪,其他一些网站也使用它。此外,chrome 插件(扩展)经常使用 localstorage 来保存设置。
我想完全禁用所有网站的 LocalStorage&DB 或将其置于“询问用户”模式。但我想使用使用 LocalStorage 和 DB 的扩展。
是否可以?
答案1
Chrome 提供了阻止 HTML5 LocalStorage 的功能,这是其 cookie 阻止功能的一部分。由于这两种技术最终都允许网站在最终用户设备上存储和检索数据,因此以相同的方式管理它们是有意义的。
只需点击菜单图标并选择选项(或者优先在类 UNIX 平台上),单击显示高级设置..., 选择内容设置,然后选择阻止任何网站设置数据选项:
在那里,你可以选择管理异常将某些网站列入白名单,或所有 Cookie 和站点数据管理或删除现有数据。
现在,当你访问某个网站时,会出现一个小图标,表示 cookie 或 LocalStorage 已被阻止:
如果你点击它,选择显示 cookie 和其他网站数据,然后选择已阻止选项卡中,您可以看到网站尝试保存的数据,并临时或永久地将网站列入白名单。
Chrome 的作者们并不喜欢复杂的旋钮,因此他们不太可能添加用于禁用单个存储方法的旋钮。另一方面,您可以合理地确定将来的任何存储方法都将通过相同的机制被阻止,而无需寻找更多复选框。
答案2
上面的答案也会阻止 cookie。我想出了一个临时解决方案(适用于 Windows 用户,但它应该以类似的方式适用于 Linux),以阻止本地存储并同时允许 cookie:
打开本地存储文件夹:
%LocalAppData%\ Google \ Chrome \用户数据\默认\本地存储
带有“chrome-”前缀的文件由 Chrome 和扩展程序使用,请勿删除它们。带有“http-”前缀的文件是我们想要的。这些文件由网站创建,用于存储设置或跟踪您的浏览情况。
第一步,我们将把我们信任的站点的本地存储数据列入“白名单”。选择您要保留的所有文件,例如http_english.stackexchange.com_0.localstorage,右键单击并打开其属性,然后将其文件属性设置为“隐藏”。您将在下一步中看到原因。
现在创建一个批处理文件/ shell脚本,它将删除所有未列入白名单的本地存储数据:
del“%LocalAppData%\ Google \ Chrome \用户数据\默认\本地存储\ http *”
将其保存为“deletelocalstorage.cmd”并双击运行。这将删除除您之前列入白名单的数据之外的所有本地存储数据,这很有效,因为隐藏文件会被 del 命令忽略。
您可以在每次启动 Chrome 之前执行此 shell 脚本。更好的解决方案是使用 Windows 任务计划程序自动执行脚本,例如每天一次。这将定期清理本地存储并阻止网站跟踪您,同时仍允许您列入白名单的网站正常运行。
此解决方案并不完美,因为它不会完全禁用本地存储,但这是必要的,因为如果本地存储被完全阻止,许多网站将无法运行。例如,您将无法登录某些网站,或者只会看到空白页。
另一种解决方案是强力方法:只需通过文件权限来阻止本地存储。
- 右键单击本地存储文件夹->属性->安全选项卡->高级
- 选择您的用户名,单击编辑,然后在权限中拒绝“创建新文件”
- 通过在本地存储文件夹中创建一个新的文本文件来测试它。它应该显示权限被拒绝。
再次提醒,请记住,采用这种方法,您迟早会遇到问题,因为某些网站需要本地存储才能正常工作。