WebSocket协议如何对非浏览器客户端实施访问控制?

WebSocket协议如何对非浏览器客户端实施访问控制?,websocket,Websocket,根据,浏览器客户端将在WebSocket握手阶段包含HTTP源标题字段。WebSocket服务器将使用该源来检查客户端是否具有访问权限 但是对于一个功能更强大的非浏览器客户端,握手阶段的原始头可以做成任何东西。WebSocket协议如何使用这些原始值来决定是否接受来自非浏览器客户端的握手 即使使用浏览器客户端,用户也不能仅仅使用JavaScript创建一个用于握手的假原始标头吗 单是原始标题似乎太脆弱了 由于websocket不受SOP的影响,源站标题仅防止smartguy.com用户无意中使用

根据,浏览器客户端将在WebSocket握手阶段包含HTTP源标题字段。WebSocket服务器将使用该源来检查客户端是否具有访问权限

但是对于一个功能更强大的非浏览器客户端,握手阶段的原始头可以做成任何东西。WebSocket协议如何使用这些原始值来决定是否接受来自非浏览器客户端的握手

即使使用浏览器客户端,用户也不能仅仅使用JavaScript创建一个用于握手的假原始标头吗


单是原始标题似乎太脆弱了

由于websocket不受SOP的影响,源站标题仅防止smartguy.com用户无意中使用您的websocket服务

想象一下,您创建了一个通过WebSocket进行通信的优秀交易应用程序,现在我在其他地方创建了一个奇特的UX应用程序,并编写了javascrit连接到您的服务并与之交互。您的服务如何知道用户正在从预期页面进行连接?原始标题

当然,任何东西都可以在HTTP请求中被篡改,但这是所有HTTP通信的共同点。您无法判断用户是否使用C++客户端或浏览器客户端。