Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 会话存储中的密码_Javascript_Html_Sessionstorage - Fatal编程技术网

Javascript 会话存储中的密码

Javascript 会话存储中的密码,javascript,html,sessionstorage,Javascript,Html,Sessionstorage,我有一个单页AngularJS应用程序,并通过WebSocket验证我的网站,不使用cookies。这意味着刷新会注销用户。将密码存储在sessionStorage上,以便他们可以在会话期间刷新,这有多糟糕?(用户名将在localStorage中,我不希望在会话之间保持完整登录) 谢谢 编辑: 我更感兴趣的是,以这种方式存储是否存在任何实际的安全风险。它的安全性是否比Chrome以明文形式存储密码或cookie未加密的方式低?您是在试图避免本地存储,还是只是cookie 您可以在会话存储中存储会

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

谢谢

编辑:


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

您是在试图避免本地存储,还是只是cookie


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

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

你要做的是。。。在服务器上创建一些散列,并将其保存在本地存储上

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

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


永远不要存储纯文本密码,也不要在客户端包含哈希算法。

为什么不在
会话存储中存储会话id或令牌,并在页面加载时重新验证?…为什么不使用标记为和的会话cookie?答案(到目前为止)只是以一种不太安全的方式重新发明了会话cookie。如果你要存储明文密码,请告诉我你的应用程序所在的站点,这样我就可以避免访问它。我明白了。但我不明白它怎么会更安全。如果有人可以访问该设备,他们可以窃取所有cookie和本地存储,并无论如何登录。如果他们保存了密码,他们也将可见。这不是大多数网站的工作方式吗?你不是在存储密码,而是在存储散列/会话密钥或任何你想称之为密码的东西。窃取散列并不像窃取密码那么糟糕。当然,他们可以在您的应用程序上假装是经过身份验证的用户,但用户可能没有安全意识,可能只是在其他站点上重复使用密码。