在now.js / socket.io聊天中增强安全性
与nowjs或socket.io聊天是您可以使用它们执行的最简单的练习之一。 我想使用nowjs的Group对象来实现多房间聊天(使用非固定数量的房间和login用户)。
我还没有直接使用WebSockets,但是我想知道那里有什么安全问题。 例如,我需要多久检查一次authentication?
攻击者是否有可能“劫持”socket.io连接,如何防止它?
还有哪些安全陷阱需要关注?
中间人无疑是一个考虑因素。 但是最大的安全问题是XSS。
这个有用的SO线程表明:
- socket.io 0.8内置了引用校验
- 如果聊天来自已知的来源,则阻止防火墙的多余连接
这篇非常翔实的文章表明:
- 不要相信客户
- 使用SSLencryption
- 检查来源
- 防止XSS(消毒客户端input!)
- 不要以为它是一个浏览器
这个有用的线程说,设置安全:真正的socket.io.connect(…)
我build议采取所有这些build议:)