我目前正在将node.js 与 socket.io 与我的 PHP 框架集成。
当用户登录我的网站时,我将他/她的会话保存在我的数据库中并为他分配一个用户 ID。
我能够验证对node.js的请求是否有效的唯一方法是将**cookie(会话ID)和用户ID发送到node.js并检查数据库,如果会话ID有效并且用户ID属于到这个会话 id。这发生在 node.js mysql 模块中。
这是唯一的方法吗?它“安全”吗?
我目前正在将node.js 与 socket.io 与我的 PHP 框架集成。
当用户登录我的网站时,我将他/她的会话保存在我的数据库中并为他分配一个用户 ID。
我能够验证对node.js的请求是否有效的唯一方法是将**cookie(会话ID)和用户ID发送到node.js并检查数据库,如果会话ID有效并且用户ID属于到这个会话 id。这发生在 node.js mysql 模块中。
这是唯一的方法吗?它“安全”吗?
根据您对 Node.js 服务器和 sockets.io 的使用情况,您可以在服务器上维护一组登录用户。
当用户验证您的 PHP 时,您将客户端代码中的套接字事件发送到带有会话 ID 的套接字服务器,然后将该会话 ID 存储在 Node.js 服务器上的用户关联数组中,这样您就可以关联用于维护客户端和服务器之间通信的套接字的任何用户会话 ID。
从现在开始,您可以检查与 Node.js 服务器的任何通信,只需通过客户端代码传递会话 ID 并检查它是否包含在关联数组中。
当然,当从 socket.io 触发断开连接事件时,您会删除数组上的关联条目。