C# 信令安全消息传递
所以,我有一个安全相关的问题C# 信令安全消息传递,c#,asp.net-mvc,security,model-view-controller,signalr,C#,Asp.net Mvc,Security,Model View Controller,Signalr,所以,我有一个安全相关的问题 // Code that was originally sent to client from the server var hub = $.connection.hubname; hub.name = "UserIdFromDataBase"; 如果某个恶意用户使用相同的代码编写一个简单的html页面,他是否会收到原始用户发送的所有消息 (实际上我想组织注册用户之间的聊天,这就是为什么服务器端应该提供name/clientid的原因) 谢谢 UP
// Code that was originally sent to client from the server
var hub = $.connection.hubname;
hub.name = "UserIdFromDataBase";
如果某个恶意用户使用相同的代码编写一个简单的html页面,他是否会收到原始用户发送的所有消息
(实际上我想组织注册用户之间的聊天,这就是为什么服务器端应该提供name/clientid的原因)
谢谢
UPD:
我在项目门户网站上创建了一个相关问题:
简短的回答是否定的,但实际上这取决于服务器端代码在做什么 信号器将为到集线器的每个连接提供唯一的connectionID。只要您使用connectionID来路由消息,而不是基于客户端提供的值构建自己的路由机制,您就可以了 在您提供的示例中,当用户连接时,他将获得唯一的connectionID。即使第二个用户能够改变客户端代码的值并模仿第一个用户,其由SignalR提供的connectionID也将不同 有关如何从调用特定客户端上的方法的示例
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);
}
}