ASP.NET Core SignalR受到/ negotiate调用的攻击

时间:2018-12-12 20:55:37

标签: asp.net-core asp.net-core-signalr

我正在使用ASP.NET Core 2.2,并实现了聊天应用程序。我以这种方式实现了重新连接:

 this._hub.onclose(() => {
    if (this.debug) console.debug('hub connection closed');

    hub connection was closed for some reason
    let interval = setInterval(() => {
    // try to reconnect hub every 5 seconds
    this.start().then(() => {
        // reconnect succeeded
        this.join(true);
        clearInterval(interval);
        if (this.debug) console.debug('hub reconnected');
    });
    }, 5000);
});

效果很好。但是然后,如果我部署了新版本的应用程序,并且连接断开,那么我突然会向单个客户端的/negotiate端点发出100个POST请求。并且还通过id参数向集线器发送404。如果我在本地测试,一切正常。而且我无法重现。

知道这是哪里来的吗?

修改

我相信我的重新连接实现不是很好。因为在我重新连接后,Chrome打开了4个或更多Web套接字。所以我想我需要改变这一点。关于如何正确实施的任何建议?

0 个答案:

没有答案