验证 WebSocket 数据

Validate WebSocket data

我有一个用 javascript 编写的 WebSocket 服务器,并从我的 CSharp 应用程序向它发送数据。现在我怎样才能确保这些是正确的?我以为我可以用哈希值做点什么,但我不知道该怎么做。有人有想法或代码示例吗?

首先要了解的是WebSocket的类型protocol/transports。 WebSocket ws:// transport 由于使用了 HTTP,因此在安全性方面基本上是无法使用的。 wss:// 协议在 TCP/HTTPS 上建立安全连接。因此,wss 协议可以防止 man-in-the-middle 攻击。

在建立WebSocket 连接时有多种验证用户的方法,none 是完美的。由于标准的 WebSocket 用法阻止设置额外的 headers,例如自定义身份验证 headers,因此无法使用标准 HTTPS 请求中用于验证客户端有效性的可靠方法.

link here 概述了一些在建立 WebSocket 连接时保持客户端和服务器同步的常用方法,并且仍然增加了一些安全性以便服务器可以跟踪客户端是什么打开 WebSocket 连接。为服务器安全地从客户端接收敏感的身份验证数据列出了很多解决方法。