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

时间:2011-12-23 16:37:56

标签: node.js socket.io nowjs-sockets

nowjssocket.io聊天是您可以使用它们执行的最简单的练习之一。我想使用nowjs的“组对象”实现多房间聊天(具有非固定数量的房间和登录用户)。

我还没有直接使用过WebSockets,而且我想知道那里有什么安全问题。例如,我多久需要检查一次身份验证?

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

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

1 个答案:

答案 0 :(得分:12)

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

This useful SO thread建议:

  1. socket.io 0.8内置了引荐来源验证
  2. 如果聊天来自已知来源,则阻止防火墙上的多余连接
  3. This very informative article建议:

    1. 不信任客户
    2. 使用SSL加密
    3. 检查原点
    4. 阻止XSS(清理客户端输入!)
    5. 不要认为它是浏览器
    6. This useful thread说要在socket.io.connect(...)

      上设置secure:true

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