Socket.io安全问题

时间:2011-09-16 21:12:58

标签: security node.js socket.io

我想知道如何通过以下方式保护我与服务器的socket.io连接。

安全问题:

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

示例:

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

如何预防这些问题?

2 个答案:

答案 0 :(得分:5)

您应该能够检查服务器端HTTP引用者是否正确。检查socket.io规范以获取有关http引用和握手的信息。

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

0.8也有推荐人验证。之前没有使用它,但这可能是一个开始寻找的地方:

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

答案 1 :(得分:0)

好吧,如果您的(真实)客户端来自一个众所周知的位置,您可能希望在防火墙级别阻止其他所有人。假设您的服务可供所有人使用,您可以查看客户端 - 服务器握手机制。