是否存在在localStorage中存储HTTP Basic授权头的安全问题?

时间:2014-10-11 00:34:40

标签: javascript html5 local-storage

我正在构建一个访问私有API的Web应用程序。我正在使用的API使用基于TLS的HTTP基本身份验证。我的客户已经为Web应用程序请求了“记住我”功能,以便用户可以在给定设备上维护持久身份验证。

我的快速解决方案是在Authorization验证后将localStorage标头存储在localStorage中。当然,鉴于对用户设备的无限制访问权限,任何值得体重的人都可以从localStorage复制auth标头并对其进行解码以检索用户的登录/密码组合。

除了整体设备泄露之外,在localStorage中存储此类敏感数据还有其他安全隐患吗? localStorage是否可以作为密码等敏感数据的存储?如果没有,除了单独的浏览器会话之外,您将如何在用户设备上保留此类数据?

(我希望每个人都可以使用他或她的私钥......密码是90年代)

编辑在阅读HTML5 localStorage security之后,似乎很清楚在{{1}}中存储敏感数据通常是一个坏主意,但有更好的选择是在此处进行身份验证持久性情况?

1 个答案:

答案 0 :(得分:4)

我认为在用户端存储与登录或密码相关的内容是个坏主意。

但是一旦用户登录,您就可以在用户侧和数据库中存储随机字符串(例如随机哈希)。当用户返回时,您可以比较两者,如果它们相同,则可以登录用户。您可以要求用户输入敏感操作的密码(更改密码或登录等)。因此,即使哈希被盗,也没有人能够获得对该帐户的完全访问权。

编辑:此概念已与cookies一起使用。我从来没有用localStorage测试它。

相关问题