Chat - Wie sicher einloggen?

kuhlmaehn

Erfahrenes Mitglied
Hi!
Ich hab leider nichts gefunden was mir weitergeholfen hätte also frag ich nun ;)

Ich will zu Übezwecken einen ganz einfachen Chat in C# programmieren den ich dann bei mir laufen lasse. Nun will ich es aber doch vernünftig machen und da stellt sich mir nun eine Frage. Man soll sich registrieren und dann einloggen können. Wie gehe ich da am besten vor?
Man gibt einen Namen ein, dieser wird an den Server gesendet und dort wird überprüft ob es den Namen schon gibt. Sendet der Server jetzt einfach "OK" zurück und beim Client wird dann bei "OK" weitergemacht? Das hört sich für mich irgendwie zu billig an weil man ja sicher dieses "OK" auch vorgaukeln kann und dann wird trotz doppelten Namens weitergemacht. Und generell.. wie kann ich sicherstellen, dass nur mein Client mit meinem Server kommunizieren kann? Übergebe ich am Anfang irgnedein "Erkennungsmerkmal"?
Also mit PHP und MySQL finde ich diese ganzen Regestrier/Login Mechanissmen irgnedwie einfacher.
Achso und die Nutzerdaten muss ich doch eigentlich auch in C# in irgendeiner Tabelle speichern oder?

So ich hoffe ich hab mich halbwegs klar ausgedrückt. Ich verstehe halt nicht wie man die Registrier und Loginvorgänge aber auch die gesamte Server/Client-kommunikation sicher macht, sodass da nichts manipuliert werden kann.
Danke!
 
Na gut ich hab mich offensichtlich blöd ausgedrückt. Also eigentlich ist diese Frage das wichtigste:
Ich würde es so machen..
ich hab einen Clienten. Dieser sendet an den Server Name und Passwort. Der Server guckt dann in der Datenbank und sendet, jenachdem ob es die Daten gibt oder nicht entweder "OK" oder "NICHT OK" zurück. Im Clientprogramm wird jenachdem das Hauptchatprogramm oder eine fehlermeldung ausgegeben.
So nun denke ich aber das das zu billig ist da man ja im Hexeditor oder so einfach diese Abfrage "cracken" kann und schon läd sich das Hauptchatprogramm einfach so.
Also müsste doch irgendwie zu jeder Zeit überprüft werden ob alles ok ist.
Da hab ich aber leider keine Idee wie das aussehen soll.

Ich hoffe jetzt ist mein Problem klarer geworden. :)
 
Hi,

lass den Server bei einem korrekten Login eine eindeutige ID (z.B. eine Session-ID) generieren und an den Client übergeben. Der Client übermittelt nun bei jedem Kontakt mit dem Server diese ID wieder zurück. Der Server kann nun die dazugehörige Session starten und damit die Gültigkeit der Client-Anfrage validieren.

Die Sessions sollten eine begrenzte Gültigkeitsdauer (Timeout) haben.

Gruß
.
 
Die Übertragung solltest am besten verschlüsseln, wie es mit TSL (wird unter anderem bei HTTPS eingesetzt) möglich ist.
 
Super danke euch! :)
Die Idee mit der Session ist super! Warum ich darauf nich gekommen bin.. ist ja genau wie bei php :)
Und TSL oder ne andere Veschlüsselung werd ich dann auch gleich einbauen! Wenn schon denn schon :D
 
Zurück