Alexander Foken: Dateiupload mit PHP unter Win2000/IIS

Beitrag lesen

Moin Moin !

Siehst Du, gerade das ist ja mein Problem. Wenn ich enctype="multipart/form-data" schreibe, kann ich im PHP-Part auf die Variable nicht mehr zugreifen, weil sie dann einfach nicht mehr existiert und genau nach dem 'warum' suche ich ;-)

PHP-Doku zu File-uploads lesen oder warten, bis ein PHP-Experte auftaucht. ;-)

max_file_size in einem hiden-field, das dem <input type="file"> voransteht kann sich übrigens in PHP durchaus auf eine maximale Dateigröße beziehen, natürlich muss ich dann die tatsächliche Größe serverseitig (in PHP) abprüfen, indem ich die tatsächliche Dategröße mit dem Wert aus max_file_size vergleiche ;-)

Das willst Du nicht wirklich. Du erlaubst einem Angreifer, selbst die max_file_size zu setzen. Nehmen wir an, Dein Script kommt mit max. 1 MByte klar. Ich setze mit einem eigenen Formular (kopiert aus Deinem) die max_file_size auf 1 GByte und schiebe Dir eine 50 MByte-Datei ins Script. Dein Script kann es nicht merken, denn die Dateigröße ist ja kleiner als max_file_size. *Kaboooooooom*

Diesen Fehler hat Microsoft übrigens bei der Password-Prüfung unter Win9x eingebaut. Man braucht nur alle 255 (sinnvollen) Kombinationen eines 1 Zeichen langen Strings ausprobieren und schon hat man Zugriff: Sie haben das richtige Password und das übergebene Password Zeichen für Zeichen verglichen, über die gesamte Länge des übergebenen (nicht des richtigen!!!) Passwords. Davor fehlte wohl eine Abfrage, ob die Längen gleich sind (denn dann macht der Code wenigstens etwas Sinn).

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
Für eine bessere Übersichtsdarstellung des Forums: http://cforum.teamone.de/phpbt/bug.php?op=show&bugid=103&pos=2