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

Lan*_*nbo 5 node.js socket.io nowjs-sockets

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

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

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

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

Kat*_*ato 12

中间人肯定是一个考虑因素.但最大的安全问题是XSS.

这个有用的SO线程表明:

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

这篇内容丰富的文章表明:

  1. 不信任客户
  2. 使用SSL加密
  3. 检查原点
  4. 防止XSS(清理客户端输入!)
  5. 不要以为它是一个浏览器

这个有用的线程说在socket.io.connect(...)上设置secure:true

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