";房间"在Node.js库中;套接字IO"



我们正在考虑使用"房间"在Node.js库中;套接字IO";。

当有多个房间时ID被分配来标识套接字所属的房间,但我们认为存在通过诸如";会话劫持";通信被劫持。

有没有一种方法可以使用";房间"同时确保安全?

引用URLhttps://socket.io/docs/v3/rooms/

Rooms是一个仅用于服务器的数据结构。客户无法了解房间的概念。再多的会话劫持也无法让任何客户端直接访问房间。

因此,您的服务器控制所有对房间的访问。数据仅存在于服务器的内存中。数据的安全性将完全取决于服务器的安全性。

现在,假设您的服务器访问房间是为了响应来自客户端的消息,因此您必须对来自客户端的命令进行安全可靠的设计。由于您根本没有提供任何相关信息,我们无法对此发表评论,但这与房间的概念无关——这是您应用程序设计的基本安全性。


一个注意:给定套接字的内部socket.id对客户端本身是已知的,换句话说,它知道自己的socket.id。socket.io从未与任何其他客户端共享过其他客户端的id。但是,即使其他人以某种方式偷走了socket.id,他们也无法通过socket.io对其进行本地处理,因为根本没有直接的socket.io客户端访问房间,即使你有socket.id。

最新更新