javascript - 将 localStorage 数据设置为只读

标签 javascript html angularjs local-storage angular-local-storage

我正在开发 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/

相关文章:

javascript - FB.ui({ 页面选项卡应用程序中的方法 : "oauth" }) vs FB. login()

javascript - 动态生成的 HTML、生成的事件与静态脚本

javascript - jQuery Date() 函数返回 1969 年 12 月 31 日而不是当前日期

javascript - 如何将键值传递给 .map 函数

html - 在怪癖模式下解决 HTML 剥离引号?

javascript - Click-to-focus 和 focus-by-javascript 有什么区别?

javascript - bcbankApp.accsummary 模块 AccountSummaryController 应该有一个 getAccountSummary 函数 在 Angular js 中失败

javascript - $stateParams 在传递给 Controller ​​后未定义

javascript - 如何在 Angular 2中的选择标签中显示颜色框?

javascript - $http.get 之后 View 未更新