1

我有一个单页 AngularJS 应用程序,并且不使用 cookie 通过 websockets 对我的网站进行身份验证。这意味着刷新会注销用户。将密码存储在 sessionStorage 上有多糟糕,这样他们就可以在会话期间刷新?(用户名将在 localStorage 中,我不希望完整登录在会话之间持续存在)。

谢谢!

编辑:

我更感兴趣的是,以这种方式存储是否存在任何实际的安全风险。它是否比 Chrome 以明文形式存储密码或 cookie 未加密的方式更不安全?

4

3 回答 3

1

您是要避免使用本地存储,还是只使用 cookie?

您可以在会话存储中存储会话 ID,并使用它对用户进行身份验证,但在任何情况下我都不会存储用户密码明文。

于 2014-10-17T19:03:57.420 回答
0

您想要做的是...在您的服务器上创建一些哈希,并将其保存在 localStorage 上。

在每个请求上发送此哈希,服务器应验证/处理它,并使用适当的凭据进行响应。

但这也“不像您希望的那样安全”,所以...您可以每 x 分钟更改一次哈希,或者在 X 分钟不活动后让它超时。

永远不要存储纯文本密码,也永远不要在客户端包含您的散列算法。

于 2014-10-17T20:04:36.947 回答
0

我认为您不想存储密码。您可以生成会话令牌并将其存储在 sessionStorage 中。无论如何,如果您来存储密码本身,请不要将其存储为纯文本。

于 2014-10-17T19:12:35.220 回答