Hallo Tom,
Beachte aber, daß auch *.jpg-Dateien noch Schadcode enthalten können.
Meinst du so etwas? – In dem Fall hat man auf dem Server den Fehler gemacht, den vom Nutzer vergebenen Dateinamen inklusive Endung zu übernehmen. Mit einem zufälligen Dateinamen mit
jpg
als Dateiendung wie beispielsweisee807f1fcf82d132f.jpg
wäre das nicht passiert.Nein, ich meinte das noch eine Stufe schärfer: "kann der wahre Typ einer Datei erst ermittelt werden" ...
Schon klar, um die Datei untersuchen zu können, muss man sie temporär, aber von außen unzugreifbar auf dem Server haben. Wenn sie aber gründlich untersucht und dann ggf. verworfen wurde, ist das Ergebnis quasi „Nicht hochgeladen“ (bzw. nicht dauerhaft gespeichert) oder „Hochgeladen“ (bzw. dauerhaft gespeichert).
und trotzdem kann noch Schadcode enthalten sein. Bei JPG-Dateien ist das locker innerhalb der EXIF-Header möglich. Man muss dann nur noch eine Möglichkeit finden, diese Datei zu laden und ab einer bestimmten Stelle parsen zu lassen.
Genau das, bzw. vorbeugende Maßnahmen habe ich ja (auch mit dem Link zu Golem) beschrieben.
Für per HTTP/s erreichbare Bilder/Dokumenten-Verzeichnisse sollte man immer alle Interpreter und Shells ausschalten!
Und dann noch auf Nummer sicher gehen und keinesfalls den Nutzer den zum Speichern verwendeten Dateinamen bestimmen lassen.
Gruß
Julius