Подтвердить что ты не робот

Можно добавить 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 в список, только если он еще не определен?

4b9b3361

Ответ 1

В соответствии с this, вы должны удалить глобальную настройку в специальном конфиге, прежде чем добавлять ее в другую форму.

Explcitly:

<system.webServer>
    <staticContent>
        <remove fileExtension=".7z" />
        <mimeMap fileExtension=".7z" mimeType="application/x-7z-compressed" />
    </staticContent>
</system.webServer>

Конечно, это не поможет вам сейчас, так как вы можете полностью отключить локальную настройку (так как это может совпадать с глобальными настройками). Но если вы это знали, когда добавили локальную поддержку 7zip, вы бы не столкнулись с этой ошибкой...