Supportnet / Forum / Skripte(PHP,ASP,Perl...)
SELECT, DELETE, usw. aus URL filtern
Frage
Hallo und einen guten Nachmittag nochmals,
ich wollte gerad eine URL aus Sicherheitsgründen auf den Inhalt kontrollieren.
Dazu wollte ich Begriffe wie "SELECT" oder "DELETE" usw. blocken.
Mir ist dazu nur folgendes eingefallen:
$reineurl = ereg_replace("DELETE","", $textvonurl);
Das müsste ich nun für alle Begriffe, die ich blocken will, schreiben.
Den Aufwand könnte man ja dann wohl mit einem entsprechenden Array verkürzen, aber dennoch frage ich mich, ob es nicht eine clevere Lösung gibt.
Hintergrund: Mit mysql_real_escape_string() löscht man ja noch nicht die Befehle wie "DELETE" usw. aus der URL sondern maskiert nur andere Sonderzeichen (soweit ich es verstanden hab). [b]--> Gibt es da vielleicht einen Befehl, der speziell diese Befehle maskiert oder entfernt?[/b]
Vielleicht weiss ja jemand, wie man das normaerweise angeht...
Würde mich freuen,
Gruss Mel
Antwort 1 von ClemBra
da mysql_real_escape auch ein einfaches Hochkomma (') entsprechend ersetzt kann ein Befehl gar nicht zur Ausführung kommen, da diese nur als normale Zeichenkette an die Datenbank übermittelt werden.
Beispiel aus php.net
Der fette Teil wird als String verstanden, nicht als SQL-Befehle.
Gruß Clemens
Beispiel aus php.net
aus
SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''
wird dann
SELECT * FROM users WHERE user='aidan' AND password='\' OR \'\'=\''
Der fette Teil wird als String verstanden, nicht als SQL-Befehle.
Gruß Clemens

