是 Socket.IO 套接字 ID sensitive/private 数据吗?

Is a Socket.IO socket ID sensitive/private data?

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

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

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

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

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