Назад | Перейти на главную страницу

Почему на веб-сайтах в IIS7 / 7.5 по умолчанию включены фильтры ASP.NET ISAPI?

РЕДАКТИРОВАТЬ: Из-за потенциально критического характера ответов на некоторые из моих вопросов ниже я добавляю это серьезное предупреждение: не удалите фильтры, о которых я говорю здесь, если вы точно не знаете, что он делает; безопасность вашего приложения может быть поставлена ​​под угрозу.


Я только что заметил, что на новом сервере Win 2008R2, который я настраиваю для использования с IIS7.5, фильтры ISAPI для ASP.NET включены по умолчанию в корневой конфигурации и, следовательно, на всех сайтах. Я также проверил один сервер 2008 года и один сервер 2008R2, к которому у меня есть доступ, и у них тоже есть то же самое.

Насколько я понимаю, они необходимы только при запуске веб-приложения в классическом режиме; все мои приложения работают в интегрированном режиме. Я удалил все фильтры, связанные с ASP.NET, с одного сайта ASP.NET, который я перемещаю на новый сервер, и, похоже, это не вызвало каких-либо проблем с приложением.

Фактически, это сделал вызвать проблему, прежде чем я удалил 32-разрядную запись v4 в приложении v2. Но потом я просто удалил их все, потому что не верю, что они вообще нужны.

Итак, мой главный вопрос: единственная ли причина, по которой они находятся в корневой конфигурации по умолчанию, чтобы поддерживать приложения в классическом режиме, для которых они нужны для запуска?

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

Дополнительный вопрос: как вы думаете, если я сейчас пересмотрю свою схему разрешений для файлов для каталогов содержимого веб-сайта на этих двух предыдущих серверах, я буду удивлен или замечу некоторые изменения из-за простого выяснения вышеизложенного?


Изменить: обратите внимание, что на самом деле это вероятно опасно для удаления записей aspnet_filter.dll для фильтров ISAPI. Запись в IsapiFilterModule по URL-адресу страницы ниже указывает на то, что фильтрация защищенного содержимого выполняется с помощью этого фильтра. Например; .config .cs и .vb файлы. http://learn.iis.net/page.aspx/121/iis-7-modules-overview/

Первоначально я тоже так думал, но нет - на самом деле есть некоторые функциональные возможности, предоставляемые фильтром в обоих режимах - например, поддержка сеанса без файлов cookie.

Отделите поведение фильтра ISAPI от поведения расширения ISAPI - расширение - это то, с чем устраняется интегрированный режим.