Socket.io安全问题

我想知道如何保护我的socket.io连接到服务器从下面。

安全问题:

  • 什么会阻止恶意用户通过客户端代码连接到套接字服务器?

例:

OUTSIDE DOMAIN REQUEST var socket = io.connect('http://Mydomain', {port: 4000}); 
  • 用户可以通过打开不同的浏览器窗口看似创build数千个并发连接。

我怎样才能防止这些问题?

你应该能够检查服务器端的HTTP引用是正确的。 检查socket.io规范的http引用以及握手信息。

https://github.com/socketio/socket.io-protocol

也有0.8引荐者validation。 以前没用过,但这可能是一个开始寻找的地方:

https://github.com/LearnBoost/socket.io/pull/481

那么,如果你的(真正的)客户来自一个知名的位置,那么你可能想要在防火墙级别阻止其他人。 假设你的服务对每个人都可用,你可以看看客户端 – 服务器握手机制。