我有一个基于socket.io的身份验证方法,我知道你可以在cookie中保存客户端ID或添加哈希来请求url。
但我正在寻找一种在nodejs中实现会话的方法,这种方式不依赖于在客户端存储数据,甚至可能吗?
答案 0 :(得分:2)
如果您不想在用户上存储数据,那么您将不得不使用他们已有的现有数据:浏览器版本,IP,用户代理......但这不会非常可靠,因为任何网站都将是能够看到这些信息,因而会议将是不安全的
cookie不会发生这种情况,因为它们是“私有的”,它们只能在某个域下看到。
您知道的另一种方法是在服务器生成的每个html链接/表单中添加一个秘密标记,并使用该密钥来标识登录用户。
这与cookie类似,但更复杂。您不必在用户的机器上“存储”任何内容......
此方法存在问题,如果用户共享链接,自定义链接,则您的密钥将不再是机密密钥。
编辑:我发现了类似的问题,您应该阅读Node.JS session without cookies