jpeg-Test

jpeg-Test

am 02.08.2006 10:40:16 von 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.

Martin

Re: jpeg-Test

am 02.08.2006 10:56:36 von Helmut Chang

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

Re: jpeg-Test

am 02.08.2006 10:59:15 von Tobias Kutzler

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

Re: jpeg-Test

am 02.08.2006 11:27:49 von Martin Lemke

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

Re: jpeg-Test

am 02.08.2006 12:40:57 von Joerg Behrens

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

Re: jpeg-Test

am 02.08.2006 20:15:06 von Martin Lemke

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

Re: jpeg-Test

am 03.08.2006 00:03:17 von Niels Braczek

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 =
|
------------------------------------------------------------ ------

Re: jpeg-Test

am 03.08.2006 02:03:05 von Ralf Zschemisch

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

Re: jpeg-Test

am 03.08.2006 10:08:46 von Martin Lemke

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: