当 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/