NetAktiv
Senior HTML'ler
Hallo,
Auszüge aus PHP: mysql_real_escape_string - Manual zeigen, dass man zum Aufruf der Methode mysql_real_escape_string eine DB-Verbindung aufgebaut haben muss und dass (sehr wenigen) Zeichen ein Backslash \ vorangestellt wird. Bei mir treten da zwei Fragen auf:
1) Man muss eine DB-Verbindung haben, um die Methode zu verwenden. Ich will aber erst das SQL erstellen und dann DB-Connect und Execute durchführen. Gibt es eine fertige Alternative zu mysql_real_escape_string, die ohne DB-Connect auskommt? Klar, ich kann selbst ein paar Replace machen.
2) Als Beispiel für Angriffe wird immer etwas in der Art angeführt dass der Benutzer statt xxx die Folge xxx; drop table yyy eingibt. Das Problem ist also, dass man durch das Semikolon einen weiteren Befehl nach einer Eingabe einbettet. Aber das Semikolon wird laut Beschreibung durch mysql_real_escape_string nicht ersetzt/geändert, was hilft es dann für diese Art der Angriffe.
Auszüge aus PHP: mysql_real_escape_string - Manual zeigen, dass man zum Aufruf der Methode mysql_real_escape_string eine DB-Verbindung aufgebaut haben muss und dass (sehr wenigen) Zeichen ein Backslash \ vorangestellt wird. Bei mir treten da zwei Fragen auf:
1) Man muss eine DB-Verbindung haben, um die Methode zu verwenden. Ich will aber erst das SQL erstellen und dann DB-Connect und Execute durchführen. Gibt es eine fertige Alternative zu mysql_real_escape_string, die ohne DB-Connect auskommt? Klar, ich kann selbst ein paar Replace machen.
2) Als Beispiel für Angriffe wird immer etwas in der Art angeführt dass der Benutzer statt xxx die Folge xxx; drop table yyy eingibt. Das Problem ist also, dass man durch das Semikolon einen weiteren Befehl nach einer Eingabe einbettet. Aber das Semikolon wird laut Beschreibung durch mysql_real_escape_string nicht ersetzt/geändert, was hilft es dann für diese Art der Angriffe.