我知道有很多关于本地存储的evils与good的讨论。还有Chrome hacks用于禁用用户/访问者从控制台运行JavaScript的能力。
这些都没有解决我的问题:可以阻止用户在浏览器中编辑本地存储值吗?
这绝不是当前问题的理想或永久解决方案,我只需要一种方法来实现这一点,直到我们可以重构代码库以使用IndexedDB。
编辑:此应用的本地存储中没有处理敏感数据,仅适用于内部网络中的本地用户。有一些数据点可供少数用户学习,并且项目所有者关心的是这些用户。
答案 0 :(得分:2)
方法我可以想到浏览器外部的和来读取和写入本地存储:
%LocalAppData%\Google\Chrome\User Data\Default\Local Storage
。答案 1 :(得分:1)
你不能这样做。无法以这种方式控制用户的浏览器,永远不应该。这与互联网的本质是对立的。您的服务器发布代码。人们使用某种浏览器来使用该代码。就是这样。一旦您提供了代码,您无法控制读取代码的内容或代码的内容。
您的安全方法完全错误。您无法在客户端确保这一点。
您可以从一开始就安全地使用localStorage。这意味着您不能信任存储在那里的任何数据,并且您无法存储您不希望用户阅读的任何内容。在那里,或在cookie中,在IndexedDB中,或在任何客户端数据存储中。安全性源于对任何用户提交的数据的内在不信任。您需要验证用户发送到服务器的任何和所有数据,完全停止。试图阻止他们更改数据是行不通的,因为他们只能编写自己的数据。他们可以生成一个请求,将任何发送到您的服务器。
如果您将敏感数据存储在localStorage或任何其他客户端数据存储中,那么您完全错误地做了这一点,并且您需要放弃该方法,因为它无法挽救。