【问题标题】:Validate WebSocket data验证 WebSocket 数据
【发布时间】:2022-01-15 12:25:54
【问题描述】:

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

【问题讨论】:

  • 你说的“不是伪造的”是什么意思?无论如何,必须验证从任何客户端发送的所有数据。
  • @JamiePhan 我的意思是如何确保数据正确。
  • @xyzelten,您是否试图确保数据来自可靠的客户端并且不会以某种任意方式在客户端外部进行欺骗?因此需要服务器验证 Web 套接字数据实际上是由正确的客户端发送的?
  • @KeeganM 是的

标签: javascript c# websocket


【解决方案1】:

首先要了解 WebSocket 协议/传输的类型。 WebSocket ws:// 传输在安全性方面基本上无法使用,因为它使用 HTTP。 wss:// 协议通过 TCP/HTTPS 建立安全连接。因此,wss 协议可以防止中间人攻击。

在建立 WebSocket 连接时,有多种方法可以对用户进行身份验证,但没有一种方法是完美的。由于标准 WebSocket 使用会阻止设置额外的标头,例如自定义身份验证标头,因此无法使用在标准 HTTPS 请求中用于验证客户端有效性的已尝试和真实的方法。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多