Hoi,
Beweis: Magic Quotes ausgeschaltet, Suchformular mit dem Feld "where".
Im Script sieht es so aus:
mysql_query("SELECT felder FROM tabelle WHERE '$where'");
User-Eingabe: abc'; DELETE FROM tabelle; SELECT 'ab
Fehlermeldung: You have an error in your SQL syntax near '; DELETE
FROM Forum; SELECT 'ab'' at line 1
Genau das hat irgendein schlauer Mensch verboten: Man kann in einem
mysql_query-Aufruf nicht mehrere durch Semikolon getrennte Queries
absenden.
Das gilt fuer MySQL, ja. Aber nicht fuer andere RDBMS. Denn das
bringt durchaus auch vorteile (gesammelte INSERT-Statements, z. B.).
Abgesehen davon dass damit einige praktische Probleme weg sind
(das result-set von welcher Query soll mysql_query denn dann
bitteschön zurückgeben?)
Der letzten-
lösen sich die Sicherheitsprobleme damit weitgehend auf.
Ich glaube nicht, Tim. Auch in andererweise koennen ungeparste
Usereingaben den Programmauflauf massiv stoeren. Das solltest du
als Informatik-Student doch viel besser wissen als ich alte
Coder-Schlampe.
Gruesse,
CK