验证WebSocket连接源

时间:2011-09-06 09:38:30

标签: security node.js websocket

我目前正在开发一个通过WebSockets连接到我们服务器的Google Chrome扩展程序,但是害怕有人能够使用虚假数据来爆炸我们的服务器,所以我们正在寻求实施安全措施以防止其他来源从连接到服务器。

我们是否可以通过任何方式将安全措施集成到应用和服务器中,以验证来自Google Chrome扩展程序的连接?

在进行此类应用时,我们应该注意哪些其他事项?任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:3)

在WebSocket握手中有一个“Sec-WebSocket-Origin:”标题(或者最近,只是“Origin:”)。这是由浏览器设置为加载页面的原始站点。您可以将服务器配置为仅接受来自您站点的页面的连接。

请注意,这不是100%灵丹妙药,因为有人可以编写欺骗Origin字段的WebSocket客户端(因此仍需要一些额外的身份验证方法)。但是,它确保正常人运行的普通浏览器无法向您发送虚假数据。

另请注意,普通浏览器仍可能被劫持以参与针对您网站的DDOS攻击,但无论浏览器是否支持WebSocket,都是如此。因此,您仍然需要采取正常措施来防止这种情况发生。