我想将WebSockets用于我的应用程序的进程间通信(Daemon <-> WebGUI和Daemon <-> FatClient等)。在测试期间,我尝试通过websocket.org(http://www.websocket.org/echo.html)上的JavaScript WebSocket客户端连接到本地运行的Web套接字服务器(ws:// localhost:1234 )。
我现在的问题是:
为什么会这样?浏览器(在Linux:FF29)上没有实现跨域策略吗?
我问是因为websocket.org如果是邪恶的,它可能会尝试与我的本地WS服务器通信并将从本地主机收到的每条消息重定向到其他任何服务器:
本地WebSocket服务器浏览器Evil Web服务器
在ws:// localhost:1234在http://evil.tld
| | |
| | ------ [GET /] ---------> |
| | <----- [HTML + EvilJS] ---- |
| <------ [连接ws:// ..] ---- | |
| <---- [一些通讯]-> | |
| | ---- [邪恶前进] ----> |
| | |
我还没有测试整个用例,但是从websocket.org提供的JS连接到ws:// localhost肯定可以。