2

Я разместил веб-страницу, которая объясняет, как я настраиваю свои настройки Visual Studio. Это включает в себя загрузку расширений .vsix ("Загрузить" в разделе "Erweiterungen installieren", "Руководства по отступам") или файлов .config (далее «CodeMaid.config»).

Internet Explorer и Edge - единственные два браузера, которые намеренно изменяют расширения этих загружаемых файлов на что-то, что не работает после загрузки. Firefox просто делает то, что сообщает веб-сервер, и сохраняет загруженный файл под указанным именем.

Я мог бы обработать случай .vsix, предоставив для него MIME-тип «application /vsix». В противном случае IE интерпретировал бы такие файлы как .zip (которые они технически являются). В любом случае их нельзя переименовывать, потому что файл .zip открывается совершенно иначе, чем файл .vsix.

Файл .config не имеет специального типа MIME. Это действительно просто файл XML, и IE переименовывает его в .xml. К сожалению, он предназначен для использования в программе, которая хочет файлы .config.

Почему Internet Explorer ломает все виды вещей? Как это можно остановить от такой ерунды? Я нашел кое-что о HTTP-заголовке «X-Content-Type-Options: nosniff» для IE 8, но сегодня это ничего не меняет, поэтому я полагаю, что это неправильно или также не работает. Или, может быть, мне просто нужно еще три заголовка?

1 ответ1

2

Используйте следующие заголовки HTTP:

  • X-Download-Options: noopen
  • Содержание-Диспозиция: вложение; имя файла = untrustedfile.html

MIME-Handling: принудительное сохранение

Наконец, для веб-приложений, которым необходимо обслуживать ненадежные HTML-файлы, мы ввели механизм, позволяющий предотвратить нарушение безопасности вашего сайта ненадежным контентом. Когда новый заголовок X-Download-Options присутствует со значением noopen, пользователю запрещается открывать загрузку файла напрямую; вместо этого они должны сначала сохранить файл локально. Когда локально сохраненный файл открывается позже, он больше не выполняется в контексте безопасности вашего сайта, что помогает предотвратить внедрение скриптов.

Рекомендации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .