在Vuejs SPA中存储敏感数据(如密码和私钥)的安全方法是什么



我正在开发需要敏感数据用户密码和私钥的单页应用程序。然而,我不希望他们每次都在需要的时候输入密码。

在登录过程中,在不影响安全性的情况下,最安全的存储方式是什么?我不想把它存储在本地存储中,也不想存储在会话存储中,因为会话存储是不安全的。

如果你想访问JavaScript代码中的这些信息,那么没有安全的方法,黑客只需在代码中设置断点并检查相关变量。

如果你只需要这个信息来维持一个";会话";使用服务器-然后您可以使用加密的会话cookie,标记为HttpOnly和SameDomain。饼干被称为";会话";因为一旦关闭浏览器,它就会自动过期并消失。它被加密(使用像AES-256这样的对称加密(,这样只有服务器才能解密它

cookie本身不需要包含密码,只需包含以下4条信息即可:

  • 用户ID
  • 浏览器的IP地址(以防止从不同位置使用相同的cookie(
  • DB中用户数据最后一次更改的时间戳(在用户更改其密码或配置文件中的其他敏感数据后立即使cookie无效(
  • cookie中的数据应过期的时间戳(以防止使用太旧的cookie(

通常cookie中的数据应在20-30分钟后被视为过期,但您可以选择允许用户将此时间设置为首选项(最长60分钟(。

每次SPA向后端API发出AJAX请求时,该cookie都应该更新/刷新为新的过期。

最新更新