1

在文档Specifying WebSocket authentication details中,它没有提到密码是如何从客户端的authenticate()JS 函数发送到服务器的onWSAuthenticate. 它们是通过安全渠道发送的吗?还是纯文本?

附带问题:可以使用什么工具/浏览器/浏览器的插件来嗅探 websocket 的流量?

谢谢你。

4

2 回答 2

1

通过 authenticate() 函数发送的用户名/密码是明文形式。您实际上可以在 cfwebsocket.js 中看到它(它已缩小,因此搜索身份验证)。在服务器上,如果调用是为了进行身份验证,它将调用 application.cfc 中的 onWSAuthenticate() 并传递给函数的任何用户名或密码。所以加密/解密/验证的逻辑在于开发者。

任何 TCP 监视器都可用于嗅探 websocket 的流量,如wireshark、TCPMon 等

于 2012-05-22T10:30:47.457 回答
0

主要只是回答以进一步我自己对它的工作原理的理解。从websocket.org网站:

通过向代理服务器发出 HTTP CONNECT 语句来建立隧道,该语句请求代理服务器打开到特定主机和端口的 TCP/IP 连接。一旦建立了隧道,通信就可以畅通无阻地通过代理。由于 HTTP/S 以类似的方式工作,因此 SSL 上的安全 WebSockets 可以利用相同的 HTTP CONNECT 技术。

因此,如果这是您要问的,似乎就像使用 http/https 一样,由开发人员来实施 SSL 加密,这是有道理的。

Sagar Ganatra 还有一篇关于使用 CF 进行 Websocket 身份验证基础知识的博客文章。

于 2012-05-22T13:55:40.103 回答