Loginüberprüfung nicht mehr umgehen

smyle

Erfahrenes Mitglied
Nun habe ich festgestellt das man den Benutzernamen eines Benutzers, ohne passwort jedoch mit sonderzeichen im Benutzerfeld eingeben kann und kann sich somit anmelden. Die Eingabe sieht so aus: Benutzername '#
Was kann ich machen damit man sich so nicht anmelden kann?
 
Ich gehe mal davon aus, dass du eine MySQL-Datenbank benutzt. Dann ist das beschriebene Phänomen eine SQL-Injection.

Lass dir das zusammengesetze Query mal anzeigen, dann merkst du, das aus

Code:
SELECT * FROM `users` WHERE username = '$user' AND passwort = '$passwort';

das hier wird:

Code:
SELECT * FROM `users` WHERE username = 'Benutzername '#' AND passwort = '$passwort';

(Alles hinter dem # ist ein Kommentar)

Um das zu verhindern benutze mysql_real_escape_string().
 
Zurück