【问题标题】:How to use localStorage Carefully in Angular如何在 Angular 中谨慎使用 localStorage
【发布时间】:2019-05-31 15:31:01
【问题描述】:

由于本地存储数据可以轻松更改,我们如何在 Angular 应用程序中确保访问控制和更多安全。

假设我们的本地存储包含:

数据 - {name:user, account_status:inactive,...}

用户可以轻松地将 account_status 从非活动更改为活动并获得所有访问权限。 我不仅关心访问控制,还关心 Angular 中使用的其他本​​地存储数据。

我可以加密来自节点服务器的数据并将其存储在本地存储中,并在我想使用相同的密钥时将其解密回来。这会不会有一些不利影响。

请推荐一些可以使用的方法。

【问题讨论】:

  • Web 开发规则 #1:永远不要相信来自客户端的数据
  • @Daniel 我应该如何确保本地存储没有被修改?
  • 我通过使用 jwt 的 REST API 从节点服务器获取用户数据,在角度方面,我使用 localstorage 来保存用户数据,然后使用 localstorage 值执行导航和其他操作。推荐一些可以安全使用的方法

标签: node.js angular express local-storage angular-local-storage


【解决方案1】:

您可以为 localstorage 操作创建一个公共服务,该服务将在将数据存储到 localstorage 时执行加密,并在从 localstorage 获取数据时执行解密。您应该同时加密密钥和值,这样就不容易更改本地存储中的值。您可以使用 CryptoJS 进行加密。

【讨论】:

    【解决方案2】:

    这就是 Spotify 过去发生的事情。结果 ?使用一个小脚本,您就可以免费获得 Spotify Premium。

    我的观点是,你不应该在客户端存储敏感数据,如果你这样做并使用它,应该有一个双重检查(一个来自客户端,一个来自服务器):如果用户更改客户端的值,服务器无论如何都会检查请求的有效性,并拒绝向用户提供资源。

    最后,我的意思是您不需要加密您的数据,或停止使用本地存储:只要聪明点,仔细检查用户权限即可。

    【讨论】:

    • 我通过使用 jwt 的 REST API 从节点服务器获取用户数据,在角度方面,我使用 localstorage 来保存用户数据,然后使用 localstorage 值执行导航和其他操作。能否请您提出一些方法...我们可以使用 cookie,或从节点服务器本身或其他方式加密本地存储数据吗
    • 既然已经有了令牌,为什么还要将数据存储在本地存储中?令牌包含您需要的所有用户信息!
    • token 用于身份验证...并且token中的信息对所有人可见但无法更改。我需要以角度解密令牌才能使用信息。我需要将令牌存储在本地存储中。
    • 使用节点服务器中使用的密钥在客户端验证和解密令牌是否安全。
    • 令牌也是用于信息承载。当然,数据是公开的,但是知道自己具有管理员角色的用户与能够将自己设置为管理员角色的用户不同。 Libraries exist 使用代币让您的生活更轻松。不,你不需要,你想要
    【解决方案3】:

    您尝试存储的类型数据不应该存储在本地存储中,尤其是对于严肃的生产应用程序。数据应始终在服务器上进行散列/加密,然后发送到前端进行进一步处理。

    【讨论】:

    • 能否请您建议加密的方式以及在本地存储中存储什么样的数据,我有点困惑,因为它可以很容易地被用户更改。谢谢
    • 准确解释你想要做什么。从后端到前端
    • 我通过使用 jwt 的 REST API 从节点服务器获取用户数据,在角度方面,我使用 localstorage 来保存用户数据,然后使用 localstorage 值执行导航和其他操作。跨度>
    • 在这种情况下,根本不需要将其保存在本地存储中。没有将能够访问它,因为它来自数据库。数据只是来自数据库的 json,每次新用户登录时都会有所不同。您需要做的是将数据保存在 typescript 文件中的变量中,然后可以将其加载到 html 模板中。如果您稍后想说从表单更新用户数据,那么使用从服务器接收到的数据,您可以进行两种方式的数据绑定,然后将更新的数据重新提交到其余 api。
    猜你喜欢
    • 1970-01-01
    • 2017-01-26
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多