In einer SignalR Hub-Klasse können Sie Context.ConnectionId
für einen Benutzer aufrufen. Ich suche, diese in einem Dictionary<string, string>
zu speichern, um Benutzer zusammen zu verbinden. Gibt es ein Risiko oder Sicherheitslücken bei der Rückgabe der Client-IDs eines anderen Benutzers an den Client eines Benutzers?Gibt es ein Risiko, dass die Verbindungs-ID eines anderen Benutzers an den Client zurückgegeben wird?
14
A
Antwort
25
Ja, wir machen das in einigen unserer Proben, aber es ist schlecht. Wenn Sie die Verbindungs-ID verlieren, können Personen Ihre Nachrichten auf Ihrer Verbindung senden/empfangen. Erstellen Sie eine andere ID, die eindeutig ist, und speichern Sie intern eine Zuordnung zwischen Ihrer ID und der Verbindungs-ID, damit Sie sie zuordnen können.
Es ist im Grunde die gleiche Idee wie die Formulare Auth-Ticket. Sicher, es ist verschlüsselt, aber wenn jemand es in die Hände bekommt, kann es sich unabhängig von dir ausgeben.
Sehen Sie ein Beispiel dieser Logik in MessengR.
Also die Empfehlung wäre, ... –
Es ist genau dort, lassen Sie mich es noch einmal "Erstellen Sie eine andere ID, die eindeutig ist und speichern Sie eine Zuordnung von Verbindung ID zu Ihrer ID intern, so dass Sie sie zurück zuordnen können." – davidfowl
Ahhh Gotcha! ta :) –