Mailinglisten-Archive |
Hi Mike, Am Dienstag, 18. Juli 2006 11:43 schrieb Mike Hubner: > > hast Du Dir mal auf beiden Servern den Inhalt von $sql ausgeben > > lassen? Gibt es da einen Unterschied zu sehen? Eventuell könnte es > > an magic_quotes liegen... > > > > Viele Grüße > > Lutz > > Jep, wenn ich die magic_quotes local einschalte gehts auch nimmer. > Das is schon mal gut... heißt dann eigentlich damit wäre in > diesem Fall eine SQL.Injection ausgeschlossen? ich würde da eher auf diese Funktion setzen: http://de2.php.net/manual/en/function.mysql-real-escape-string.php Optimal wäre die Verwendung von Prepared Statements. Damit wärest Du völlig auf der sicheren Seite. Dafür brauchst Du aber die passende MySQL-Version und mysqli dazu. Auf magic_quotes würde ich nicht bauen. Das gehört eigentlich abgeschaltet, weil es jede Menge Probleme bereitet. Ohnehin würde ich mich nicht auf Servereinstellungen alleine verlassen, die Du vielleicht auch gar nicht beeinflussen kannst. Und ganz wichtig: Jeder von außen an ein Skript übergebene Parameter gehört validiert. Ein gängiger Fehler ist, vermeintliche Zahlenwerte nicht zu überprüfen, wobei gerade hier die SQL-Einschleusung im Zusammenspiel mit der PHP-Typenkonvertierung möglich ist. Also immer den Typ erzwingen und den Inhalt (gültige Werte, Wertebereich...) prüfen. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive