jpeg-Test
am 02.08.2006 10:40:16 von Martin LemkeKann man auf einfache Weise feststellen, ob eine (hoch geladene) Datei eine
jpeg-Datei ist? Auf die Extension möchte ich mich nicht verlassen.
Martin
Kann man auf einfache Weise feststellen, ob eine (hoch geladene) Datei eine
jpeg-Datei ist? Auf die Extension möchte ich mich nicht verlassen.
Martin
Martin Lemke schrieb:
> Kann man auf einfache Weise feststellen, ob eine (hoch geladene) Datei eine
> jpeg-Datei ist? Auf die Extension möchte ich mich nicht verlassen.
gruss, heli
Martin Lemke schrieb:
> Kann man auf einfache Weise feststellen, ob eine (hoch geladene) Datei eine
> jpeg-Datei ist? Auf die Extension möchte ich mich nicht verlassen.
Hallo,
probier mal getimagesize(). Diese Funktion gibt ein Array zurück, in
welchem im Index 2 eine Zahl steht, die den Bildtyp angibt.
getimagesize() funktioniert auch ohne die GD-Bibliothek.
Sollte getimagesize() fehlschlagen oder im 2. Index keine 2 stehen, dann
handelt es sich wohl nicht um ein JPG.
Ciao,
Tobias
Am Wed, 02 Aug 2006 10:59:15 +0200 schrieb Tobias Kutzler:
> Sollte getimagesize() fehlschlagen oder im 2. Index keine 2 stehen, dann
> handelt es sich wohl nicht um ein JPG.
Danke Dir und Helmut. Das wird sicher klappen.
Martin
Martin Lemke schrieb:
> Am Wed, 02 Aug 2006 10:59:15 +0200 schrieb Tobias Kutzler:
>
>> Sollte getimagesize() fehlschlagen oder im 2. Index keine 2 stehen, dann
>> handelt es sich wohl nicht um ein JPG.
>
Fakt ist das lediglich die Magicbytes ausgewertet werden. Es haengt also
auch davon ab wo du die Datei speicherst, bzw. wer die dann spaeter
ausruft. Auch ein boese.php kann sich als JPEG ausgeben. Nur blind auf
getimagesize() sich verlassen *kann* zu wenig sein.
Gruss
Joerg
--
TakeNet GmbH http://www.takenet.de
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
Am Wed, 02 Aug 2006 12:40:57 +0200 schrieb Joerg Behrens:
> Fakt ist das lediglich die Magicbytes ausgewertet werden.
Was ist Magicbytes?
Soll das heißen, dass lediglich geprüft wird, ob ab Offset 6 "JFIF" in der
Datei steht? Wenn ja, ist dies in der Tat nicht das, was ich suche.
> Auch ein boese.php kann sich als JPEG ausgeben. Nur blind auf
> getimagesize() sich verlassen *kann* zu wenig sein.
Meine Idee war gerade, mich nicht blind auf fälschbare Eigenschaften zu
verlassen. Gibt es eine geeignetere Methode?
Martin
Martin Lemke schrieb:
> Am Wed, 02 Aug 2006 12:40:57 +0200 schrieb Joerg Behrens:
>> Auch ein boese.php kann sich als JPEG ausgeben. Nur blind auf=20
>> getimagesize() sich verlassen *kann* zu wenig sein.
>=20
> Meine Idee war gerade, mich nicht blind auf fälschbare Eigenschaften =
zu
> verlassen. Gibt es eine geeignetere Methode?
Nur 'ne Idee: Verkleinere[tm] es auf 100%. Wenn's geht, war es wohl ein
Bild.
MfG
Niels
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Am Wed, 02 Aug 2006 10:40:16 +0200 schrieb Martin Lemke:
> Kann man auf einfache Weise feststellen, ob eine (hoch geladene) Datei eine
> jpeg-Datei ist? Auf die Extension möchte ich mich nicht verlassen.
http://www.php.net/manual/de/function.exif-imagetype.php
hth
r23
--
http://www.myoos.de/fraktal/zoom.php
Am Thu, 03 Aug 2006 02:03:05 +0200 schrieb Ralf Zschemisch:
> hth
: exif_imagetype() reads the first bytes of an image and checks its signature.
Das ist mir zu unsicher. Wer den Thread "Sicherheitsproblem cwings.php" [1]
gelesen hat, kann sich denken, wofür ich die entsprechende Testroutine
benötige: Zur Erhöhung der Sicherheit bei hoch geladenen Jpeg-Dateien.
Da ist ein Algorithmus gefordert, der nicht durch das Setzen von ein paar
ASCII-Zeichen leicht zu täuschen ist.
Vielleicht sollte ich es mit ImageCreateFromJPEG() versuchen? U. U. mit
kombiniertem versuch, das Bild zu skalieren, wie Niels es vorgeschlagen
hat.
Martin
Refs:
[1] Message-ID: