2014-08-28 122 views
2

好吧我有一个用node.js编写的API,我试图添加会话功能。该API是完整的RESTful。当用户登录时,我通过GET ajax调用向/ login端点发送用户/通过组合。然后,服务器使用密码并将其与存储在我的mongo数据库中的散列进行比较。然后,根据登录成功情况,它会以真或假回应。将会话密钥存储在localstorage中

我想要实现的是:当用户输入有效的登录名时,服务器生成一个会话密钥。该密钥存储在用户文档的mongo中。该会话密钥随后与GET请求一起返回。这个会话密钥将被包含在所有未来请求的JSON正文中,以允许用户访问他们的账户信息。

我的问题:是否安全地将此会话密钥存储在浏览器的localStorage或sessionStorage中?这是否会让用户知道任何漏洞?

+0

所以你想在浏览器中存储会话密钥的MongoDB的intead? – vmr 2014-08-28 14:44:41

+0

不,我想将它存储在MongoDB和sessionStorage中,以便会话密钥可以包含在每个RESTful AJAX调用中。 – 2014-08-28 18:25:04

回答

1

继承人链接到secruity.stackexchange,它解释了可能的漏洞。根据W3C的说法,网络存储对于sensitive data是安全的。

+0

谢谢,这是一个很好的资源。 – 2014-08-28 18:23:34

+0

没问题!我最近在会话和本地存储方面工作很多。客户端存储解决方案绝对不是完美的,因为它们可以在不同的浏览器中以不同的方式实现,所以没有真正的“解决方案”。 – 2014-08-28 21:39:08