node.js - Socket.IO 套接字 ID 是敏感/私有(private)数据吗?

标签 node.js socket.io

当 Socket.IO 处理新连接时,它会创建一个 Socket 对象,该对象的属性之一是 id。这是一个“不可猜测的”(根据文档)字符串,用于标识连接。

构建应用程序时,将此 ID 广播给其他客户端是否被认为是安全、可靠且良好的做法?我的倾向是散列 ID 并广播摘要可能是一个更好的主意。

最佳答案

id 不是敏感数据,除非您自己的代码以某种方式使其敏感。没有使用套接字 id 的 socket.io 客户端操作,因此如果客户端有套接字 id,则除非您的代码实现对其进行操作的消息,否则他们无法对其执行任何操作。

它是不可猜测的,因此您可以将其用作与其他客户端共享的 ID,同时不允许该客户端知道他们可能获得的 ID(例如匿名 ID)。

因此,使用它作为标识符来引用其他用户的套接字正是其目的,并且不会导致安全或隐私问题,除非您自己的客户端操作导致此类问题。

关于node.js - Socket.IO 套接字 ID 是敏感/私有(private)数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31352746/

相关文章:

javascript - 查询不能直接在具有打开事务的 session 上运行;从事务内运行或使用不同的 session

node.js - Mongoose 中的集合名称

java - netty 套接字 io CORS 错误 : Access-Control-Allow-Origin

node.js - Socket.io:覆盖的generateId()被执行,但返回的id似乎被忽略

javascript - Node.js - Socket.io 一遍又一遍地重复 'io.on(' 连接')

javascript - Node.js:如何获取 Error 对象中不正确的字段

javascript - 呃!尝试将包发布到 npm 时出现 403

javascript - ws WebSocket 客户端是否损坏? echo.websocket.org 演示在本地运行时失败并显示 404

javascript - NodeJS - socket.on 似乎没有被调用

javascript - 需要了解如何配置 node.js 以返回 javascript 库