繁体   English   中英

在会话/历史记录中存储用户数据是否安全?reactjs

[英]is it safe to store users data in the session/history reactjs

我从一位老开发人员那里接手了这个 React 应用程序,我对 React 的工作方式不是很熟悉,但在我的生活中,我从来没有将用户的数据存储在 session 的历史记录中。 我注意到他正在这样做,这让我有点害怕:

const {
        history,
      } = this.props

      AuthorizationHome.doCreateUserWithEmailAndPassword(email, passwordOne)
        .then((authUser) => facades.userFacade().doCreateUser(authUser.user.uid, email, name, companyName))
        .then(() => {
          history.push(routes.HOME)
        })

这样做实际上是否安全,或者我应该存储在数据库中并在每次需要时查询数据? 我总是要么将用户的数据存储在数据库中并通过我的服务器端代码进行查询,要么将数据传递到我的后端并在那里安全地操作它。 请告诉我!

它基于您从事的类型项目。 如果是银行业务或处理任何敏感数据和公共使用应用程序,请避免在页面登录中保存密码。 最好根据项目需要进行用户认证session。

是的,只要页面没有被导航或路由到与其他数据相同的页面,这些数据就会保持不变。

不,这不安全,就好像有人可以访问客户的计算机一样,他们可以检索凭据并可能终身访问他们的帐户。 即使使用加密,在本地存储用户名和密码也不好。

你可以做的是用短期令牌实现 JWT 然后加密它们并将它们存储在本地(或使用基于 cookie 的 jwts,但要注意 csrf 漏洞利用)。 这样,如果客户的令牌被盗,令牌可能会在一段时间后过期,或者如果您检测到它们已被盗用,则无需客户端更改密码即可撤销令牌。

您还可以要求用户提供用于在本地加密和存储其凭据的 pin,然后当他们打开新页面/会话时,要求他们使用它来解密存储的数据。 我建议不要这样做,因为客户可以使用简单的密码,例如 1-2-3-4,而不是让他们使用更长的密码/密码,只需让他们直接重新输入密码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM