【发布时间】:2015-08-29 22:34:06
【问题描述】:
只有当连接来自的网站是我服务器上的白名单子域之一时,我才尝试允许访问 socket.io。如果每次客户端连接到我的 socket.io 服务器时,我都可以检查源子域,那最好。我试图找出如何做到这一点,但还没有找到一个好的解决方案。 唯一接近解决方案的是this answer to a related question。但是 - 我不确定这是否是最好的方法,以及这是否适用于我的情况并且不能通过 javascript 伪造。
TLDR:如何根据来源不同地处理 socket.io 请求?如果这不可能:如何在两个子域上托管两个 socket.io 服务器,但端口相同?
关于重复标志:我的问题完全不同。我不能使用命名空间作为解决方案,因为我不能信任在某些子域上运行的客户端 javascript。因此,这些子域可能只是加入不同的命名空间,这将使我将它们分开的努力毫无意义。
【问题讨论】:
-
aug 不幸的是,这只会适得其反。我想将我的大部分子域保留在我的 socket.io 服务器之外,而不是包括它们。我不能信任某些子域上的一些客户端 javascript,因此不能使用命名空间,因为客户端 js 可以轻松加入另一个。
标签: javascript node.js socket.io