Hallo Thomas,
AFAIK wuerde bei einem solchen String:
"SELECT * FROM blahr WHERE y = "x"; delete * from geheim where "a" = "a";
der von PHP an MySQL uebergeben wird, doch (wenn ueberhaupt)
nur das erste Statement, also der SELECT-Teil, von MySQL
ausgefuehrt.
Für MySQL mag das stimmen, aber nicht unbedingt für andere DBMS. Ist mir
übrigens neu, dass das nicht mehr geht.
Benutzer-Eingabe: x, vorgesehen:
DELETE FROM blahr WHERE y="x"
boese Eingabe/SQL-Injection ohne Pruefung fuehrt zu:
DELETE FROM blahr WHERE y="x" OR "1"="1"
Dann ist die ganze Tabelle geloescht...
Ein besseres Beispiel im MySQL-Kontext, ja.
Grüße,
CK
--
Es gibt keinen Ort, wo der Geist zu finden waere. Er ist wie die Fussspuren der Voegel am Himmel.
Es gibt keinen Ort, wo der Geist zu finden waere. Er ist wie die Fussspuren der Voegel am Himmel.