Jquery WebSocket与安全
我希望托管一些基于websocket的应用程序,这些应用程序应该只能通过https页面访问。因此,服务器生成包含随机密钥的https页面。我想使用此密钥来防止来自外部的人间接访问WebSocket 我可以让每个web套接字客户端将密钥发送到websocket服务器,如果密钥不匹配,则关闭连接。但是,我更愿意更新WebSocket本身以传递密钥,并在密钥不匹配时自动拒绝连接。(这样,如果引入新的应用程序,就不会忘记执行检查) 我环顾四周,并没有找到多少关于WebSocket如何工作的深入文档 wss连接的初始握手是否以明文形式发送(如果我将密钥附加到这些数据包,中间的人是否可以拦截它们?)。如果没有,是否有一种标准的方式在连接上发送这种元数据,或者我应该直接破解websocket源文件Jquery WebSocket与安全,jquery,security,websocket,libwebsockets,Jquery,Security,Websocket,Libwebsockets,我希望托管一些基于websocket的应用程序,这些应用程序应该只能通过https页面访问。因此,服务器生成包含随机密钥的https页面。我想使用此密钥来防止来自外部的人间接访问WebSocket 我可以让每个web套接字客户端将密钥发送到websocket服务器,如果密钥不匹配,则关闭连接。但是,我更愿意更新WebSocket本身以传递密钥,并在密钥不匹配时自动拒绝连接。(这样,如果引入新的应用程序,就不会忘记执行检查) 我环顾四周,并没有找到多少关于WebSocket如何工作的深入文档 ws
我在服务器端使用libwebsockets,在客户端使用jquery.websockets。安全WebSocket连接仅升级:
WebSocket
界面由浏览器提供-当您到达onopen
事件时,握手已经完成。您可以将密钥放入,但这肯定是一种黑客行为(因为协议
用于实际注册的协议,而不是身份验证机制)
另一种方法是将WebSocket封装在您自己的库中,该库处理第一条消息上的密钥交换,这样您的应用层就不必担心细节问题。谢谢,我将添加一项要求,即在交换任何其他消息之前,检查所有需要密钥的应用程序。