signalr - 如何加密在 blazor 服务器端的 DispatchBrowserEvent 中发送的值
问题描述
最近,我们为我们的一个客户部署了一个 Blazor 应用程序。当他们的内部团队进行 WARP 测试时,我们发现“敏感信息的明文传输”。当我们分析它时,我们发现 Blazor 心跳通过“DispatchBrowserEvent”将每个输入字段中键入的值发送到服务器。下面给出了相同的屏幕截图。 调度浏览器事件
我需要一个解决方案
- 加密在 DispatchBrowserEvent 中发送的值或
- 停止值的传输,直到手动发布。
解决方案
Blazor Server 使用 SignalR 作为通信机制,因此数据来回发送到服务器。它应该在使用 SSL/TLS 的加密通道上,所以我假设您的网站启用了 SSL?
登录凭据必须在 POST 中从浏览器发送到服务器以验证它们。这对于所有Web 应用程序都是一样的。您只需要确保请求是通过 SSL 完成的,这样只有客户端和服务器才能读取它们。如果是这种情况,这不是安全问题。
其次,SignalR/Blazor-Server 使用的首选机制是WebSockets。如果您的应用程序使用 WebSocket 连接,您将看不到您所看到的流量 - 这是因为如果 WebSockets 不可用,SignalR 将退回到替代方法。
您应该检查您的服务器以查看是否启用了 WebSockets - 我怀疑这是原因。
推荐阅读
- android - ViewPager 上的 RemoveView 功能不起作用
- javascript - 为什么我的 element.classList.add 工作但切换不起作用?
- prolog - 序言替换列表中的元素
- regex - 正则表达式:匹配第一次出现的带有字符“a”的单词
- ios - 如何在 ReactiveCocoa 9.0 中使用 SignalProducer.timer
- xslt-1.0 - XSLT 1.0 分组示例
- node.js - 为什么不打开 package.json 中的调试器 ndb?
- javascript - 如何让html、js、css计算器上的负数输出显示为红色?
- java - 如何解决“org.name1.name2.name3;” 进口?
- python - 为值切片一个 findall() 列表