SQL-Injections - defuseData

Hallo Liebe Leute.

Ich bin ein Laie.
Wie „schützt“ der Befehl „defuseData()“ vor SQL-Injections?

In meinem Beispiel heißt es:

Die Benutzereingaben werden über das „$_POST-Array“ übermittelt. Diese werden dann mit der Funktion „defuseData()“ gegen SQL-Injections gesichert.

Wie funktioniert das, ganz einfach ausgedrückt?
Vielen Dank schon mal für die Hilfe

Hallo,

meiner Meinung nach gibt es keine fertige Funktion die so heißt.
Die Funktion defuseData() wird wohl eine selbst geschriebene PHP Funktion sein, die dafür sorgt, dass die eingegebenen Daten gefahrlos in einer SQL Anfrage verwendet werden können.

Dies geschieht beispielsweise über die PHP Funktion mysql_real_escape_string() (siehe PHP-Dokumentation) und weitere (eigene) Absicherungen.

Viele Grüße

DefuseData() ist mir nicht bekannt, scheint mir jedenfalls keine PHP-seitige Funktion zu sein.

In welchem Zusammenhang taucht diese Funktion auf?

Gruß, Matthias

Ich kann dir den Quellcode zeigen:

An irgendeiner Stelle vor oder nach diesem Code muss auch diese Funktion definiert werden. Oder aber in einer separaten Datei die über include() oder require() eingeschlossen wird.

Ich vermute mal, dass innerhalb dieser Funktion sämtliche Formulardaten „escaped“ werden, d.h. z.B. Hochkommas wird ein Backslash vorangestellt usw… Sinn ist, dass nicht speziellen Zeichen, die in SQL eine technische Bedeutung haben, aus dem Formular ungewollt in die Abfrage eingefügt und dann ausgeführt werden. So könnte z. B. jemand heimlich über so ein Formular eine Löschabfrage einschmuggeln, die deine gesamte Datenbank löscht.

Gruß,
Matthias