Socket.io 如何查看客户端的cookie数据?
Socket.io how to check a client's cookie data?
我正在构建一个待办事项列表应用程序,多个用户可以在其中登录同一个列表并实时查看项目更新 - Google 文档样式。我正在使用 NodeJS、Express、Socket.io 进行即时更新,并使用 client-sessions
NodeJS 模块存储 cookie 以允许用户保持登录状态。
我可以使用 Express 在页面上加载正确的项目,方法是呈现一个 Jade 模板,用与请求客户端上的 cookie 关联的项目填充它,通过在 req.session.user
下创建一个带有用户详细信息的 cookie .然而,这仅在我有一个 req
从中获取会话时才有效,如 app.get('/', function(req, res){});
中。
但是,当我想通过 socket.io 直播编辑内容时,如何确保编辑的项目链接到正确的列表?有什么方法可以确定套接字客户端在服务器上有哪些 cookie?
我不想简单地在浏览器上存储一个带有客户端 ID 的变量,因为这样会很容易受到攻击,并且不会利用客户端会话的内置加密。
client.request 会帮你找回它们。
如果您查看客户端会话 (client-sessions.js) 的代码,它会导出解码函数。 session.decode({'cookieName':'name'}, cookie_content);
我正在构建一个待办事项列表应用程序,多个用户可以在其中登录同一个列表并实时查看项目更新 - Google 文档样式。我正在使用 NodeJS、Express、Socket.io 进行即时更新,并使用 client-sessions
NodeJS 模块存储 cookie 以允许用户保持登录状态。
我可以使用 Express 在页面上加载正确的项目,方法是呈现一个 Jade 模板,用与请求客户端上的 cookie 关联的项目填充它,通过在 req.session.user
下创建一个带有用户详细信息的 cookie .然而,这仅在我有一个 req
从中获取会话时才有效,如 app.get('/', function(req, res){});
中。
但是,当我想通过 socket.io 直播编辑内容时,如何确保编辑的项目链接到正确的列表?有什么方法可以确定套接字客户端在服务器上有哪些 cookie?
我不想简单地在浏览器上存储一个带有客户端 ID 的变量,因为这样会很容易受到攻击,并且不会利用客户端会话的内置加密。
client.request 会帮你找回它们。
如果您查看客户端会话 (client-sessions.js) 的代码,它会导出解码函数。 session.decode({'cookieName':'name'}, cookie_content);