【问题标题】:Make localStorage Data read-Only将 localStorage 数据设为只读
【发布时间】:2019-03-20 02:45:42
【问题描述】:

我正在开发 AngularJs 应用程序。

我在 localStorage 中存储数据为

localStorageService.set("selectedUserCategory",'Circle');

现在当我看到浏览器的 localStorage 数据时

-- 应用
---- 本地存储

我发现我的key-value

selectedUserCategory : '圈子'

但此数据是可编辑。即

如果我通过浏览器本身将数据从Circle 编辑到Ci,它会被保存为Ci,这可能是有害的,因为任何人都可以从那里更改数据。
所以我想把它设为 read-only 。有什么办法吗?

还有什么方法可以保护我的 localStorage 数据?
既然数据很容易读取,我应该加密然后保存吗??

【问题讨论】:

  • 本地存储的任何内容都不可信。如果您想要用户无法编辑的存储,则需要存储数据服务器端并将其发送给用户。

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


【解决方案1】:

正如@Carcigenicate 所说,一旦在浏览器上,没有什么是安全的。您可以做的另一步骤是将加密数据存储在本地存储中。所以普通用户很难编辑。如果他编辑它不会解密,因此您可以使以下任务无效。

为了进一步防止,您可以混淆/缩小您的 javascript 文件,这样普通用户就很难接触到您的加密算法。

或者如果可能的话,加密来自服务器的值,并使用公钥,只有解密逻辑将在前端。因此,即使用户获取了您的数据(AND 甚至是公钥),他也无法对其进行加密(没有您的私钥),因此他无法更改数据。

JSON web token使用这个原理,访问https://jwt.io/

【讨论】:

    猜你喜欢
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多