Можно добавить MIME-тип в web.config без возможности взлома сайта?
У меня был web.config на одном из сайтов моего IIS, который добавлял поддержку расширения файла .7z. Когда я позже добавил глобальную поддержку .7z на уровне сервера, этот сайт был взломан - диспетчер IIS жалуется, что он "не может добавить запись дубликатов коллекции типа" mimeMap "..." и все веб-запросы к i.g. Файлы CSS завершились ошибкой HTTP 500.
Я использовал это на сайте web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".7z" mimeType="application/x-7z-compressed" />
</staticContent>
</system.webServer>
Может ли быть другой синтаксис, который добавит 7z в список, только если он еще не определен?
Ответы
Ответ 1
В соответствии с this, вы должны удалить глобальную настройку в специальном конфиге, прежде чем добавлять ее в другую форму.
Explcitly:
<system.webServer>
<staticContent>
<remove fileExtension=".7z" />
<mimeMap fileExtension=".7z" mimeType="application/x-7z-compressed" />
</staticContent>
</system.webServer>
Конечно, это не поможет вам сейчас, так как вы можете полностью отключить локальную настройку (так как это может совпадать с глобальными настройками). Но если вы это знали, когда добавили локальную поддержку 7zip, вы бы не столкнулись с этой ошибкой...