在 SignalR Hub 类中,您可以调用Context.ConnectionId
用户。我希望将这些存储在 aDictionary<string, string>
中,以便将用户连接在一起。将其他用户的客户端 ID 返回给用户的客户端是否存在风险或安全漏洞?
问问题
950 次
1 回答
25
是的,我们在一些样本中这样做了,但这很糟糕。如果您泄露了连接 ID,那么人们可以在您的连接上发送/接收您的消息。创建另一个唯一的 id 并在内部存储您的 id 和连接 id 之间的映射,以便您可以将它们映射回来。
这与表单身份验证票基本相同。当然它是加密的,但如果有人得到它,他们无论如何都可以冒充你。
在 MessengR 中查看此逻辑的示例。 https://github.com/davidfowl/MessengR/blob/master/MessengR/Hubs/Chat.cs#L67
于 2012-07-26T06:09:18.497 回答