我正在开发 AngularJs 应用程序。
我将数据存储在 localStorage 中
localStorageService.set("selectedUserCategory",'Circle');
现在当我看到浏览器的 localStorage 数据
-- 应用
---- 本地存储
我发现我的键值
为
选定的用户类别:“圆圈”
但此数据可编辑。即
如果我通过浏览器本身将数据从 Circle
编辑到 Ci
,它会保存为 Ci
,这可能会有害,因为任何人都可以更改来自那里的数据。
所以我想到将其设为只读。有什么办法可以做到吗?
还有什么方法可以保护我的 localStorage 数据吗?
由于数据很容易读取,我应该对其进行加密然后保存吗??
最佳答案
正如 @Carcigenicate 所说,一旦进入浏览器,就没有什么是安全的。您还可以执行的一步是将加密数据存储在本地存储中。所以普通用户编辑起来会很困难。如果他编辑它不会解密,因此您可以使以下任务无效。
为了进一步防止,您可以混淆/缩小您的 JavaScript 文件,这样普通用户就很难访问您的加密算法。
或者,如果可能的话,加密来自服务器的值,并使用公钥,只有解密逻辑将位于前端。因此,即使用户获得您的数据(甚至是公钥),他也无法对其进行加密(没有您的私钥),因此他不可能更改数据。
JSON web token利用这个原理,访问https://jwt.io/
关于javascript - 将 localStorage 数据设置为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52820693/