class.matze
06-01-2006, 18:01
Ich will ein Bild-Upload Skript schreiben, dass überprüft, ob ein Dateiupload eine Bilddatei ist.
1. Frage: Wie kann ich das sicher überprüfen, sodass auch Dateien mit evtl. Doppelendungen sicher erkannt werden (nur Bilddateien erlaubt)?
Im Stil von: dateiname.jpg.exe
2. Frage: Wie kann ich eine Datei mit einem eindeutigen Namen versehen (z.B. MD5-Summe), bevor ich sie in ein Verzeichnis verschiebe ?
Hmm..
Zu 1)
du könntest mit explode den dateinamen zerlegen und den letzen teil Validieren... ( datei.exe.jpg = OK, datei.jpg.exe = Nicht OK)
Zu 2)
Wie wär´s damit (http://de3.php.net/tempnam)
Original geschrieben von hhcm
... datei.exe.jpg = OK, datei.jpg.exe = Nicht OK ... und damit ist das automatisch ein bild? ... probiers erstmal mit getimagesize() ... ansonsten geht unter linux noch "file", wenn man shell-zugriff hat. bezüglich des namens kann man auch einen timestamp verwenden. musst halt nur sehen, dass die datei noch nicht existiert. ist etwas übersichtlicher als ein md5-hash für den dateinamen.
Original geschrieben von Wurzel
und damit ist das automatisch ein bild?
JOa.....
<img src="bla.exe">
Oh wie schlimm...
Original geschrieben von hhcm
JOa.....
<img src="bla.exe">
Oh wie schlimm... nö, ist nicht schlimm. mir ist das wurscht, was eine solche datei auf deinem server macht.
die prüfung auf eine dateiendung ist nur leider genauso dämlich, als würde man verdünnung in eine wodka-flasche füllen und nur weil "wodka" draufsteht, kann man es gefahrlos trinken. in diesem sinne: prost.
Ja jetz geh doch nicht gleich an die Decke..
*mmmmmh* VERDÜNNUNG :beer:
Mir ist klar was du willst, was du für einwände hast, das meine Antwort mist ist, das du was besseres weisst (z.B getimagesize())
Sorry. War vielleicht ne blöde idee. Wenn´s mein Script wäre hätte ich sowas bestimmt auch nicht bemacht.
class.matze
06-01-2006, 18:31
Das mit dem Timestamp ist ne gute Idee. Den werd ich verwenden.
Danke für den Link zu tempnam(). Das hab ich gesucht. ;)
Müsste es jetzt hinbekommen. Danke nochmals.