Остановить IE8 от открытия или загрузки текстового / простого MIME-типа - PullRequest
1 голос
/ 10 сентября 2009

Я динамически генерирую текстовый файл в PHP, поэтому он имеет расширение .php, но имеет тип MIME text / plain. Все браузеры отображают файл как хорошо отформатированный текст, кроме IE8.

Googling сообщает мне, что они добавили защиту, где, если тип содержимого заголовка HTTP не соответствует ожидаемому типу содержимого (я думаю, основанный на расширении и некотором перехвате), это заставляет файл загружаться. В моем случае я должен открыть его, а также дать ему разрешение на открытие файла, который я только что сказал открыть! Это, вероятно, раздражение Win7, хотя. Конечно, работа со статическим текстовым файлом работает нормально.

Так можно ли остановить загрузку файла IE8 и заставить его нормально его просматривать? Код должен работать в нескольких средах общего хостинга, поэтому я думаю, что я застрял с расширением .php.

Ответы [ 2 ]

5 голосов
/ 10 сентября 2009

Добавьте это в свой заголовок HTTP:

X-Content-Type-Options: nosniff

Это функция IE8, позволяющая отказаться от прослушивания MIME.

Источник

1 голос
/ 05 ноября 2010

Кроме того, вы можете «обмануть» IE8, думая, что он действительно обслуживает текстовый файл. Эти две строки делают это для меня и не предполагают использования нестандартизированных заголовков "X-":

Header("Content-Type: text/plain");
Header("Content-Disposition: inline; filename=\"whatever.txt\"");
...