gpt4 book ai didi

c# - SignalR 安全消息传递

转载 作者:行者123 更新时间:2023-11-30 16:24:25 24 4
gpt4 key购买 nike

所以,我收到了一个与安全相关的问题。

// Code that was originally sent to client from the server
var hub = $.connection.hubname;
hub.name = "UserIdFromDataBase";

如果某些恶意用户将使用相同的代码编写一个简单的 html 页面,他会收到将发送给原始用户的所有消息吗?

(实际上我想组织注册用户之间的聊天,这就是服务器端应提供名称/clientid 的原因)。

谢谢

更新:

I created a related issue at the project portal: https://github.com/SignalR/SignalR/issues/432

最佳答案

简短的回答是否定的,但这实际上取决于您的服务器端代码在做什么。

SignalR 将为每个到集线器的连接提供唯一的连接 ID。只要您使用 connectionID 来路由您的消息,而不是根据客户端提供的值构建您自己的路由机制,您应该没问题。

在您提供的示例中,当用户连接时,他将获得一个唯一的 connectionID。即使第二个用户能够更改客户端代码的值并模仿第一个用户,SignalR 提供的他的 connectionID 也会不同。

有关如何从 https://github.com/SignalR/SignalR/wiki/Hubs 调用特定客户端方法的示例

public class MyHub : Hub
{
     public void Send(string data)
     {
         // Invoke a method on the calling client
         Caller.addMessage(data);

         // Similar to above, the more verbose way
         Clients[Context.ConnectionId].addMessage(data);
     }
}

关于c# - SignalR 安全消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com