Mailinglisten-Archive |
Hallo, > > So erlaubst du jedem Surfer, beliebige Queries zu schicken. Ich könnte > z.B. > > folgende Anfrage schicken: > > "free like 'x'; DROP DATABASE db_name" > > dieses statement wird von php/mysql nicht ausgeführt, da nur einzelne > anweisungen ausgeführt werden, allerdings keine anweisungsabfolgen. Du hast recht, ich habe es gleich mal getestet und ebenfalls festgestellt, dass bei MySQL nur eine einzige Anfrage möglich ist. Trotzdem ist es nicht gerade elegant, Queries teilweise über die URL zu übergeben :-) Ein anderer beliebter Fehler ist es, Parameter direkt in Systemaufrufe unterzubringen (z.B. zum Verschicken von e-Mails aus C-Programmen heraus). Mit geschickten Parametern (etwa in der Art: "); rm -rf *; ) kann ein böswilliger Surfer ziemlich viel Schaden anrichten: exec(sendmail("...."); rm -rf *; ... > es ist eh unüblich für einfache datenbank anfragen dem sql-user rechte > für das löschen von datensätzen zu geben. Man kann eine DB aber auch mit INSERT, DELETE oder ALTER ziemlich durcheinanderbringen ... Gerald.
php::bar PHP Wiki - Listenarchive