Javascript 在本地存储中存储HTTP基本授权头是否存在安全问题?
我正在构建一个访问私有API的web应用程序。我正在使用的API在TLS上使用HTTP基本身份验证。我的客户端已请求web应用的“记住我”功能,以便用户可以在给定设备上保持持久身份验证 我的快速而肮脏的解决方案是在验证后将Javascript 在本地存储中存储HTTP基本授权头是否存在安全问题?,javascript,html,local-storage,Javascript,Html,Local Storage,我正在构建一个访问私有API的web应用程序。我正在使用的API在TLS上使用HTTP基本身份验证。我的客户端已请求web应用的“记住我”功能,以便用户可以在给定设备上保持持久身份验证 我的快速而肮脏的解决方案是在验证后将授权头存储在localStorage中。当然,如果能够完全访问用户的设备,任何人都可以从localStorage复制auth头并对其进行解码以检索用户的登录/密码组合 除了设备整体受损外,将此类敏感数据存储在localStorage中是否还有其他安全隐患?localStorag
授权
头存储在localStorage
中。当然,如果能够完全访问用户的设备,任何人都可以从localStorage
复制auth头并对其进行解码以检索用户的登录/密码组合
除了设备整体受损外,将此类敏感数据存储在localStorage
中是否还有其他安全隐患?localStorage
是否可以作为密码等敏感数据的存储?如果不是,您将如何在单个浏览器会话之外将这些数据持久保存在用户设备上
(我希望每个人都能使用自己的私钥……密码都是90秒)
编辑阅读后,似乎很明显,将敏感数据存储在
本地存储
中通常是一个坏主意,但在这种情况下,有什么更好的方法可以持久化身份验证?我认为在用户端存储与登录或密码相关的内容是一个坏主意
但是一旦用户登录,您就可以在用户端和数据库中存储一个随机字符串(例如随机哈希)。当用户返回时,您可以比较两者,如果它们相同,您可以登录用户。您可以要求用户输入敏感操作的密码(更改密码或登录等)。因此,即使散列被窃取,也没有人能够完全访问该帐户
编辑:此概念已用于。我从未用localStorage测试过它你可以考虑加密它;我在网上找到了解决办法。它工作得很好。这篇博客文章是在考虑PhoneGap的情况下写的,但在其他情况下也会起作用:@Brian Mains:如果运行时的JS可以解密它,那么它也可以被恶意用户解密。这是web还是PhoneGap?我们不知道环境,但是的,或者说这是一个令人担忧的问题。。。