Christian Kruse: Bitte dringend um Hilfe: Einbruch befürchtet!

Beitrag lesen

Hallo Ralph,

Frage Nr. 1: haltet ihr diesen SQL-Ausdruck (in PHP) fuer problematisch?
[...]

Ja. Du gehst davon aus, dass alle Datenbanken gleiche Quoting-Mechanismen haben. Dem
ist nicht so. DB/2 macht das sogar so, dass ein String in ' eingeschlossen zu sein
hat und das weitere '-Zeichen mit ' escaped werden müssen:

SELECT * FROM blahr WHERE val = 'bl''ahr';

Benutze also die Quoting-Methode, die für deine DB-Engine vorgesehen ist. Bei
MySQL wäre das mysql_escape_string bzw. mysql_real_escape_string. Bei PostGreSQL
wäre das pgsql_escape_string.

Zu dem Thema der SQL-Injection hat Bio dir ja schon mehr geschrieben.

Grüße,
 CK

--
Der Geist ist alles. Du wirst, was du denkst.