【问题标题】:Any risk returning other user's Connection Id to the client?将其他用户的连接 ID 返回给客户端是否有风险?
【发布时间】:2012-07-26 14:19:21
【问题描述】:

在 SignalR Hub 类中,您可以为用户调用 Context.ConnectionId。我希望将这些存储在Dictionary<string, string> 中,以便将用户连接在一起。将其他用户的 clientid 返回给用户的客户端是否存在风险或安全漏洞?

【问题讨论】:

    标签: c# asp.net signalr


    【解决方案1】:

    是的,我们在一些示例中这样做了,但这很糟糕。如果您泄露了连接 ID,那么人们可以在您的连接上发送/接收您的消息。创建另一个唯一的 id 并在内部存储您的 id 和连接 id 之间的映射,以便您可以将它们映射回来。

    这与表单身份验证票的想法基本相同。当然它是加密的,但如果有人得到它,他们无论如何都可以冒充你。

    在 MessengR 中查看此逻辑的示例。 https://github.com/davidfowl/MessengR/blob/master/MessengR/Hubs/Chat.cs#L67

    【讨论】:

    • 就在那里,让我重申一下“创建另一个唯一的 id 并在内部存储从连接 id 到您的 id 的映射,以便您可以将它们映射回来。”
    猜你喜欢
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2012-12-07
    • 2012-06-23
    • 1970-01-01
    • 2011-05-05
    相关资源
    最近更新 更多