使用socket.io和amp;管理node.js中的会话。不使用cookies

时间:2013-10-29 08:39:33

标签: node.js socket.io

我有一个基于socket.io的身份验证方法,我知道你可以在cookie中保存客户端ID或添加哈希来请求url。

但我正在寻找一种在nodejs中实现会话的方法,这种方式不依赖于在客户端存储数据,甚至可能吗?

1 个答案:

答案 0 :(得分:2)

如果您不想在用户上存储数据,那么您将不得不使用他们已有的现有数据:浏览器版本,IP,用户代理......但这不会非常可靠,因为任何网站都将是能够看到这些信息,因而会议将是不安全的 cookie不会发生这种情况,因为它们是“私有的”,它们只能在某个域下看到。

您知道的另一种方法是在服务器生成的每个html链接/表单中添加一个秘密标记,并使用该密钥来标识登录用户。 这与cookie类似,但更复杂。您不必在用户的机器上“存储”任何内容......
此方法存在问题,如果用户共享链接,自定义链接,则您的密钥将不再是机密密钥。

编辑:我发现了类似的问题,您应该阅读Node.JS session without cookies