[quote=sid burn,24.04.2006, 10:59]Irgendwie verstehe ich deine Sichtweise nicht so ganz.
Wenn ich, ebenfalls mit einer Regex, überprüfe ob der Benutzer Bereits existiert, dann kann ich kein Benutzer "betterworld\n" anlegen, da es ja das selbe wäre wie "betterworld". Und ich würde eine Meldung bekommen das der benutzer bereits existiert.
Und sagen wir mal man unterscheidet das registrieren mit einem "\n". Dann sehe ich da immer noch keine Probleme. Da es nun in der Datenbank 2 Benutzer gibt. Einmal "betterworld" und einmal "betterworld\n". Wenn ich mein SQL Query dann abschicke hole ich mir entweder das Passwort von "betterworld" oder "betterworld\n", dass jeweils ein unterschiedliches Passwort wäre. Ich könnte also auch nicht das Passwort von "betterworld\n" benutzen um mich mit "betterworld" einloggen.
Zum anderen muss ich auch gar nicht irgendein Benutzername vergleichen. Warum auch? Den Benutzername brauche ich lediglich um das Passwort zu holen, und ich vergleiche danach das Passwort.
Zum anderen sollte es aber Generell ungewollt sein, wenn \n auf einer Website zu den akzeptierten zeichen gehört. Solche Zeichen sollte man bei der Eingabe eigentlich nicht erlauben.[/quote]
Da hast natuerlich recht. Ich will auch nicht behaupten, dass die Benutzerueberpruefung, die ich oben gepostet hatte, sehr sinnvoll programmiert ist oder buchstäblich aus einem existenten Forum entnommen ist. Ich wollte nur zeigen, wie man durch unachtsames Benutzen von $ Sicherheitsluecken (oder auch andere Bugs) einbauen kann.