Hallo,
erstmal vielen Dank für eure (langen :-)) Antworten auf meine Frage. Damit ich gleich die Frage "es kommt drauf an..." beantworte: also es gibt zwei Textfelder - kennung und password, mit dem sich der User in einer mysql-DB einloggen kann. Zum Abschicken dieser Daten nutzte ich zuerst einen submit-Button (post), die Daten - sobald sie auf dem Server eingelangt sind - habe ich mit $HTTP_POST_VARS ausgelesen, Cookies gesetzt
Muß das den sein mit den Cookies? *sigh*
und die entsprechenden Operationen in der mysql-DB durchgeführt. Jetzt habe ich den Button durch einen Link ersetzt, in welchem ich beim Abschicken auch die content-Variable setzten möchte und die kennung mit dem zuvor mit javascript verschlüsselten Password anhängen möchte. Ob es (von Verfahren her) so richtig ist, weiß ich nicht, bin newbie hinsichtlich der Webprogrammierung und versuche ich mich ein bisschen in die Materie einzuarbeiten, nachdem mir an der Uni XOTcl aufgezwungen wurde *heul*
*taschentuch-rüberreich*
Ist doch ganz in Ordnung so. Auch die Überlegung das gesendete Password zu verschlüsseln ist all zu selten geworden heutzutage und mehr als löblich!
Wenn es denn nur eine User/Passwort Kombination sein soll, dann reicht für die meisten Zwecke eine MD5Sum von User/Passwort + Session-ID (+ Client-IP)
Also wenn ich den Sinn der Sache auch richtig verstanden habe, muss ich den Password am Client verschlüsseln (also mit javascript) und an den Server (auch mit dem Schlüssel usw.) schicken. Am Server wird dies entschlüsselt.
Bei MD5Sum gibt es nichts zu entschlüsseln, das ist Einweg. Du mußt also auf dem Server den empfangenen String gegen eine MD5Sum aus User/Passwort + Session-ID (+ Client-IP) vergleichen, also auf dem Server das gleiche, wie auf dem Client machen.
Ich möchte es aber nicht umgehen, jetzt auch wiederholt darauf hinzuweisen, das das nicht 100% sicher ist. Nur wird die "man in the middle" Attacke jetzt schwieriger, wenn Du die Client-IP ausliest und mit reinnimmst.Dadurch, das Du sie ausliest, muß der Angreifer IP-Spoofing betreiben, das ist nicht gar so einfach.
Wenn Du also wirklich wichtige Daten hast wirst Du um ein SSL Zertifikat nicht herumkommen. Liegt so um die 1.500 EUR/anno.
BTW: Die Defaulteinstellungen von MySQL betreiben Klartextverkehr. Ich weiß nicht, ob es in den neuen Versionen jetzt direkt drin ist, aber bei den alten Versionen brauchte es einen externe Patch.
so short
Christoph Zurnieden