【发布时间】:2014-05-15 18:12:16
【问题描述】:
我正在编写一个应用程序,用户可以同时从多个浏览器登录,并在页面加载时与服务器上的 socket.io 建立连接。
我想在一个 redis 集中跟踪所有客户端套接字 ID socket.id,对于该登录用户,其密钥看起来像 userId:???:socketClientIds。在通过ajax调用php脚本后,我想SADD将套接字客户端ID设置为redis集。
由于我将用户 ID 保存在 php 会话变量 $_SESSION['userId'] 中,因此我可以将此用户 ID 的值传达给 socket.io 以便我可以将客户端 ID 添加到集合中,这是一种安全/实用的方式吗?
client.sadd("userId:???:socketClientIds", socket.id)
我不能相信客户端会为 userId 提供准确的值,因为它可能是伪造的。
【问题讨论】:
标签: php node.js redis socket.io