SQL Injection verhindern

LL0rd

Erfahrenes Mitglied
Hallo Leute,

ich wollte mal eben einfach in der Runde fragen, wie viel bzw. wenig Sinn es macht, am Anfang eines PHP Scriptes über alle Einträge der $_POST und $_GET Arrays zu iterieren und auf alle Einträge dieser Arrays mysql_escape_string anzuwenden. Damit hätte man doch die Möglichkeit der SQL Injection irgendwo an einer Stelle des PHP Scriptes verhindert, oder?
 
Ich verstehe zwar den Vorteil, sehe aber gleichzeitig die Gefahr, dass Werte dadurch verfälscht werden könnten.
 
Naja, bei den Werten, die eh in die Datenbank kommen, laufen die Werte eh durch die Funktion durch. Von daher sehe ich da kein großes Problem drin.

Sorry, wenn ich das jetzt so frage, aber gibt es noch andere Möglichkeiten einer SQL Injection, die mysql_escape_string nicht aushebelt?
 
Das kommt darauf an, wo die Eingabewerte verwendet werden. Denn die mysql_escape_string()- beziehungsweise mysql_real_escape_string()-Funktion (letztere sollte der ersten vorgezogen werden) ist nur für den Einsatz bei der Auszeichnung einer Zeichenkette in MySQL-Abfragen konzipiert, da nur die dort relevanten Metazeichen maskiert werden.
 
Zurück