【发布时间】:2016-06-28 18:13:19
【问题描述】:
我有一个基于 socket.io 的身份验证方法,我知道您可以将客户端 ID 保存在 cookie 中或添加哈希到请求 url。
但我正在寻找一种在 nodejs 中实现会话的方法,它不依赖于在客户端存储数据,这可能吗?
【问题讨论】:
我有一个基于 socket.io 的身份验证方法,我知道您可以将客户端 ID 保存在 cookie 中或添加哈希到请求 url。
但我正在寻找一种在 nodejs 中实现会话的方法,它不依赖于在客户端存储数据,这可能吗?
【问题讨论】:
如果您不想存储用户的数据,那么您将不得不使用他们已经拥有的现有数据:浏览器版本、IP、用户代理...但这不会很可靠,因为任何网站都会能够看到该信息,因此会话将不安全。
cookie 不会发生这种情况,因为它们是“私有的”,它们只能在某个域下看到。
您知道的另一种方法是在您的服务器生成的每个 html 链接/表单中添加一个秘密标签,并使用该密钥来识别登录用户。
这类似于 cookie,但更复杂。您不必在用户的机器上“存储”任何东西...
此方法存在问题,如果用户共享链接、自定义链接,那么您的密钥将不会是秘密的没有了。
编辑:我发现了一个类似的问题,您应该阅读Node.JS session without cookies
【讨论】: