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.
Verwandte Themen
- 1. Gibt es ein Risiko, dass die lokale statische Variable einer Methode zwischen Instanzen geteilt wird?
- 2. Ist es möglich, dass ein Objekt standardmäßig falsch zurückgegeben wird?
- 3. Outlook - Lesen Sie den Kalender eines anderen Benutzers
- 4. Office365 API - Zugriff auf die Kalender eines anderen Benutzers/Raums
- 5. Gibt es eine Möglichkeit, die Position eines Benutzers berühren zu können, während UIButton gedrückt wird?
- 6. Shelveset eines anderen Benutzers finden
- 7. Schreibe die Nachricht eines anderen Benutzers
- 8. Flex 4: Ist es möglich, dass ein BorderContainer automatisch an den Inhalt angepasst wird?
- 9. Wie kann SOAPFault vom Filter an den Client zurückgegeben werden?
- 10. Gibt es eine Möglichkeit, den Benutzernamen eines SVN-Benutzers über den gesamten Repository-Verlauf zu ändern?
- 11. Asynchrone Ergebniskennung, die an Aufrufer zurückgegeben wird
- 12. Gibt es Pooling-Lösungen, die es ermöglichen, dass ein Schlüssel an die Übernahme/Take-Methode übergeben wird
- 13. Nodejs gibt keine Daten an den Client
- 14. WCF gibt Objekte an den Client zurück
- 15. Ist es möglich, JavaScript-Code sicher an den Browser eines Benutzers zu senden?
- 16. Gibt es ein Ereignis für den Fall, dass die Kopfhörer nicht angeschlossen sind?
- 17. Wie die Gesamtzählung an den Client übergeben wird in pageInfo
- 18. Android Bearbeiten eines anderen Benutzers SharedPreferences
- 19. Wie wird beim Erstellen eines JavascriptConverters ein Array zurückgegeben?
- 20. Erstellen eines Benutzers fehlgeschlagen. Gibt es eine Möglichkeit, den Fehler zu interagieren?
- 21. ASP.net Identity 2.0 Abmelden eines anderen Benutzers
- 22. Wie wird angezeigt, dass beim Klicken auf die Schaltfläche eines anderen Dialogfelds ein Dialogfeld angezeigt wird?
- 23. SharePoint: Ist es möglich, Dokumente abzufangen/zu modifizieren, bevor sie an den Client zurückgegeben werden?
- 24. Wie kann ich die Anzeige eines anderen Benutzers verwenden?
- 25. Edit Exchange-Termin eines anderen Benutzers
- 26. Gibt es ein konkretes Datum, an dem event.getDefaultPrevented() entfernt wird?
- 27. OneLogin ruby client, wie man den Benutzernamen des Benutzers identifiziert
- 28. Gibt es in PHP eine Methode, um die Standard-E-Mail eines Benutzers zu erhalten?
- 29. Ist es möglich, den Facebook-Status eines Benutzers zu aktualisieren, ohne dass eine Anwendung installiert wurde?
- 30. In einer Client-Server-Anwendung: Wie wird das Anwendungskennwort des Benutzers an die Datenbank gesendet?
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 :) –