2

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

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

4

1 回答 1

2

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

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

编辑:我发现了一个类似的问题,你应该阅读没有 cookie 的 Node.JS 会话

于 2013-10-29T09:25:24.497 回答