在now.js / socket.io聊天中增强安全性

与nowjs或socket.io聊天是您可以使用它们执行的最简单的练习之一。 我想使用nowjs的Group对象来实现多房间聊天(使用非固定数量的房间和login用户)。

我还没有直接使用WebSockets,但是我想知道那里有什么安全问题。 例如,我需要多久检查一次authentication?

攻击者是否有可能“劫持”socket.io连接,如何防止它?

还有哪些安全陷阱需要关注?

中间人无疑是一个考虑因素。 但是最大的安全问题是XSS。

这个有用的SO线程表明:

  1. socket.io 0.8内置了引用校验
  2. 如果聊天来自已知的来源,则阻止防火墙的多余连接

这篇非常翔实的文章表明:

  1. 不要相信客户
  2. 使用SSLencryption
  3. 检查来源
  4. 防止XSS(消毒客户端input!)
  5. 不要以为它是一个浏览器

这个有用的线程说,设置安全:真正的socket.io.connect(…)

我build议采取所有这些build议:)