Mailinglisten-Archive |
Moin, ----- Original Message ----- From: "Oliver Kurlvink" <truheml_(at)_metal.de> To: "php mailinglist" <php_(at)_phpcenter.de> Sent: Thursday, April 11, 2002 9:20 AM Subject: Re: [php] upload.php ok im IE, NN und Opera funzen nicht!! > > Also wenn ich $bild!="none" schon sehe. Die PHP Goetter haben dafuer > > is_upload_file() geschaffen und der einzige Weg zu gucken ob es wirklich > > ich verwende gerne !=none :) ich will nämlich wissen ob wirklich eine > datei angekommen ist bevor ich die funktionen zum dateihandling anstoße > :) da ist so ein billiger check recht passend :) > > > eine Bilddatei ist im Bildnamen nach der richtigen Endung zugucken und > > ZUSAETZLICH mittes getimagesize() sich ueber PHP den Typen ermitteln > > zulassen. > > die php-götter haben dummerweise vergessen, dass es jenseits von gif, > jpeg, png und flash auch noch etwa 3000 andere bildformate gibt, die > vielleicht auch "valid" sein könnten. aus diesem grund lasse ich z.b. > per imagemagick überprüfen, ob das bild erkannt werden kann... Ich verweise noch einmal aufdringlich auf is_upload_file() und nicht die unart auf 'none' zuueberpruefen. Die PHP-Goetter haben halt schlechte und gute Tage... welche da so ueberwiegen soll hier nicht das Thema sein :) Mir ist klar das es so ca. 31337 verschiedene Bild Formate gibt. Die Anzahl derer die ein handelueblicher Browser so Anzeigen kann duerfte diese Zahl aber gehoerig Reduzieren. Da es sich hier dann um die ueblichen Verdaechtigungen handeln wird sollte getimagesize() angewand auf die temporaere Datei genuegen um sie dann zukopieren/behandeln. Es gibt im PHP CVS so ein Pedant zu Apaches Magicmime. Das liefert was ein 'file -i name' unter Linux auswirft. Knackpunkt ist aber ob sich solche Tools oder auch ImageMagick ueberlisten lassen wenn eine Datei bild.php ankommt die aussehen kann --- GIF87a~_i <?php // boeser code hier wie echo ´rm -rf *´; ?> ---- Wer die Datei evtl. Resized koennte merken das was nicht stimmt. Wie aber sich ein JPEG verhaelt das in den APC Bloecken Zusatzdaten aufnehmen kann die auch ein Resizen ueber leben wuerden moechte ich jetzt garnicht ausprobieren. Da Bilder aber meisten in einem oeffentlich zugaenglichem Bereich des htdocs liegen waere es unschoen wenn andere dort solcher Art Trojaner hinterlegen koennten. Wie man sieht gibt es genug Fallstricke bei der ganzen Geschichte und erzaehle bitte nicht das du alle bedacht hast wenn im ersten Schritt mit 'none' gearbeitet wird :). Gruss Joerg Behrens -- TakeNet GmbH Mobil: 0171/60 57 963 D-97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
php::bar PHP Wiki - Listenarchive