Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 验证WebSocket连接源_Security_Node.js_Websocket - Fatal编程技术网

Security 验证WebSocket连接源

Security 验证WebSocket连接源,security,node.js,websocket,Security,Node.js,Websocket,我目前正在开发一个Google Chrome扩展,它通过WebSockets连接到我们的服务器,但担心有人会用虚假数据攻击我们的服务器,因此我们正在寻求实施一项安全措施,以防止其他来源连接到服务器 是否有任何方法可以将安全措施集成到应用程序和服务器中,以验证来自Google Chrome扩展的连接 在执行此类应用程序时,是否还有其他需要注意的事项?感谢您的建议。在WebSocket握手中,有一个“Sec WebSocket Origin:”标题(或最近的“Origin:”)。浏览器将其设置为加载

我目前正在开发一个Google Chrome扩展,它通过WebSockets连接到我们的服务器,但担心有人会用虚假数据攻击我们的服务器,因此我们正在寻求实施一项安全措施,以防止其他来源连接到服务器

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


在执行此类应用程序时,是否还有其他需要注意的事项?感谢您的建议。

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

请注意,这并不是100%的万灵药,因为有人可以编写一个伪造原始字段的WebSocket客户端(因此仍然需要一些额外的身份验证方法)。然而,它确实保证了普通人运行的普通浏览器不会向您发送虚假数据


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

甚至可以加载扩展弹出窗口并从那里启动一个假连接。我认为这几乎是不可能防止的,因为您无法在服务器端知道客户端做了什么。您不能依赖客户端JavaScript。@pimvdb,即使在Chrome扩展中,也不能伪造原始字段。你也不能从Chrome扩展中进行任意套接字连接,只能进行WebSocket连接。我的意思是,你可以使用从扩展弹出窗口中启动的WebSocket连接来破坏服务器,并使用WebSocket连接发送数据负载。但我误解了这个问题,因为它是关于其他来源的,我很抱歉。当考虑验证来自WebSocket客户端的消息时,我们如何处理他们订阅频道可能是一个有用的资源。