2015-07-11 32 views
1

当Socket.IO处理新的连接时,它将创建Socket对象,并且此对象的其中一个属性为id。这是用于识别连接的“不可猜测”(根据文档)字符串。是否是Socket.IO套接字ID敏感/私有数据?

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

+1

它与任何事情都没有关系,它和本身新创建的散列一样好。你为什么要把它广播给别人呢? – laggingreflex

+0

@laggingreflex我只是为了识别其他客户而广播它。这是一款非常简单的游戏式应用,客户可以播放X和Y的位置。包含其他客户端坐标的对象被创建并经常更新。我需要一种方法来命名这些对象,并且我正在使用由Socket.IO生成的ID。 – Blieque

回答

1

该ID不是敏感数据,除非您自己的代码以某种方式使其变得敏感。没有socket.io客户端操作接受套接字ID,所以如果客户端有套接字ID,那么除非您的代码实现了对其进行操作的消息,否则他们无法使用它。

它是不可猜测的,所以你可以使用它作为一个id与其他客户端共享,而不允许该客户端知道他们可能已被给予谁(如匿名ID)的身份证。

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

+0

我明白了,谢谢。这似乎是这样,所以我会接受你的答案。 – Blieque