trinita: Firefox erkennt Textdatei als "application/download"

Hallo!

Ich habe ein Webformular mit File-Upload und ein PHP-Skript, welches die Eingaben verarbeitet, erstellt. Für die Verarbeitung ist es notwendig, zu erkennen, welchen MIME-Type die hochgeladene Datei hat. Diese Information wird dem PHP-Skript vom Browser mit übermittelt, und der Browser hält sich beim Erkennen des MIME-Types meist an die Dateiendung. Eine Datei test.txt sollte also als "text/plain" erkannt werden. Dies funktioniert bei mir im Internet Explorer, nicht aber im Firefox (Version 2.0.0.7). Letzterer glaubt, meine Testdatei sei vom Typ "application/download".

Mein Skript sieht so aus:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>

<form action="test.php" enctype="multipart/form-data" method="post">
<p>Datei: <input name="file" type="file"></p>
<p><input type="submit"></p>
</form>

<p>MIME-Type: <?php print($_FILES["file"]["type"]) ?></p>

</body></html>

Meine Testdatei ist eine mit dem Windows Editor erstellte Textdatei, der Inhalt ist einfach nur das Wort "test".

Ist das ein Bug im Firefox? Oder mache ich da noch irgendwas falsch?

Danke für Eure Hinweise,
viele Grüße,
trinita

  1. Ok, ein Firefox-Bug ist es wohl nicht - habe es auf einem anderen Rechner ebenfalls mit Firefox 2.0.0.7 ausprobiert, und da geht es ...

    Kann man beim Firefox irgendwo einstellen, wie er welche Dateitypen beim Upload erkennen soll?

    1. Falls noch jemand dasselbe Problem haben sollte:

      In der Tat hatte mein Firefox den MIME-Type application/download mit dem Dateityp txt verknüpft. Mit Hilfe des AddOns "Mimetype Editor" für den Firefox kann man die entsprechende Verknüpfung löschen, dann funktioniert es wieder.

      (Der "Mimetype Editor" ist nicht zu Firefox 2.0.0.7 kompatibel, aber mit Hilfe eines weiteren AddOns, "Mr Tech Local Install", trotzdem installierbar.)

      1. Moin!

        In der Tat hatte mein Firefox den MIME-Type application/download mit dem Dateityp txt verknüpft. Mit Hilfe des AddOns "Mimetype Editor" für den Firefox kann man die entsprechende Verknüpfung löschen, dann funktioniert es wieder.

        Das Problem ist doch aber, dass du dich serverseitig nicht darauf verlassen kannst, dass der Browser einen wahrheitsgetreuen Mimetyp sendet.

        Du mußt immer gucken, ob die gesendete Datei deinen Erwartungen auch inhaltlich entspricht. Und dann natürlich streng darauf achten, die Datei auch nur entsprechend dieser Erwartungen zu verwenden.

        Das ist bei Textdateien nun allerdings etwas problematischer, weil die im Prinzip jeden möglichen Inhalt haben können - andere Dateiformate wie z.B. Bilder hingegen haben fixe Strukturen, auf deren Vorhandensein man testen kann. Das Resultat eines solchen Test ist deutlich vertrauenswürdiger, als die Nutzung eines beliebig manipulierbaren Mime-Typs.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."