我目前正在致力于将 node.js 与 socket.io 与我的 PHP 框架集成。
当用户登录我的网站时,我将他/她的 session 保存在我的数据库中并为其分配一个用户 ID。
The only way I am able to validate if the request to node.js is valid, is to send the **cookie (session id) and userid to node.js and check the Database, if the session ID is valid and the userid belonging to this session id. This happens with node.js mysql module.
这是唯一的方法吗? “安全”吗?
最佳答案
根据您使用 Node.js 服务器和 sockets.io 执行的操作,您可以在服务器上维护一组已登录用户。
当用户在 PHP 上进行验证时,您可以将套接字事件从客户端代码发送到带有 session ID 的套接字服务器,然后将该 session ID 存储在 Node.js 服务器上的用户关联数组中,这样您就可以可以将任何用户 session ID 与您用来维护客户端和服务器之间通信的套接字相关联。
从现在开始,您只需通过客户端代码传递 session ID 并检查它是否包含在关联数组中,就可以检查与 Node.js 服务器的任何通信。
当然,当从 socket.io 触发断开连接事件时,您会删除数组上的关联条目。
关于php - Node.js (mysql+socket.io) 通过 Cookie 验证 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12743138/