Неверный Mime-тип в загруженном файле - PullRequest
1 голос
/ 08 января 2012

У меня есть форма для загрузки файлов на моем веб-сайте, где я проверяю загруженный файл по типу mime, чтобы разрешить или запретить его загрузку. Это работало хорошо, пока я не обновил свой Firefox до 3.6.11 (в Ubuntu). Но теперь загрузка файлов Doc невозможна. Я проверил MIME-тип файла, но это был «application / x-php» вместо «application / vnd.ms-word» или других msword mime-типов.

Я использую

echo $_FILES[$fileName]['type'];

чтобы увидеть MIME-тип. Я загружаю один и тот же файл из Firefox 8 и Firefox 3.6, и результат вышеупомянутого кода был:

FireFox 8: application/vnd.ms-word
FireFox 3.6: application/x-php

Это ошибка Firefox или я должен изменить свои коды?

Я использую PHP.

1 Ответ

3 голосов
/ 08 января 2012

$_FILES[...]['type'] - это произвольная, предоставленная пользователем, наиболее вероятная, ненадежная (как вы видите) информация, предоставленная клиентом, которая может иметь или не иметь никакого отношения к реальному файлу. Никогда не используйте его.

Попробуйте самостоятельно определить тип MIME на сервере.Примеры методов см. Как получить тип содержимого файла в PHP? .

...