IIS - Установка фильтров ISAPI
Аналогично расширениям ISAPI, фильтры ISAPI являются программами, которые вызываются при получении веб-сервером запроса HTTP. Отличие фильтров от приложений заключается в том, что они запускаются в ответ на события веб-сервера, а не по запросу клиента. Имеется возможность связать фильтр ISAPI с конкретным событием веб-сервера. После этого фильтр будет вызываться при каждом возникновении такого события. Например, фильтр может получать уведомление о каждом событии чтения или записи и шифровать данные, возвращаемые клиенту.
Имеется возможность установить фильтры для всех узлов на сервере (глобальные фильтры) или установить фильтры для отдельных веб-узлов. Если установлены и глобальные фильтры, и фильтры для узла, то для этого узла списки фильтров объединяются.
Когда для одного события зарегистрировано несколько фильтров, они вызываются последовательно. Фильтры с более высоким приоритетом выполняются раньше фильтров с низким приоритетом. Если приоритеты у нескольких фильтров совпадают, то глобальные фильтры, заданные в основных свойствах, выполняются раньше фильтров, заданных на уровне узла. Фильтры с одинаковым приоритетом на одном уровне наследования выполняются в том порядке, в котором они были загружены. Допускается изменение порядка загрузки фильтров в окне свойств веб-сервера или веб-узла.
В отличие от расширений ISAPI, фильтры ISAPI всегда выполняются в процессе сервера.
Чтобы добавить фильтр на веб-сервер или веб-узел- В оснастке Internet Information Services выберите значок веб-сервера или веб-узла и откройте для него окно свойств.
- Выберите вкладку Фильтры ISAPI.
- Нажмите кнопку Добавить.
- Введите имя фильтра в поле Имя фильтра и введите или найдите имя файла DLL в поле Исполняемый файл.
- Нажмите кнопку OK.
- Чтобы изменить порядок загрузки фильтров, пользуйтесь кнопками со стрелками.
- При добавлении или изменении глобального фильтра необходимо остановить и снова запустить веб-сервер для загрузки новых фильтров в память. Фильтр, добавленный на уровне веб-узла, автоматически загружается при добавлении.
Примечание. При добавлении фильтров на веб-узел не отображаются имена глобальных фильтров, наследуемых от основных свойств веб-сервера. Пользователь увидит только фильтры, установленные на веб-узле, даже в случае, когда выполняются оба набора фильтров.
Примечание. Изменение порядка загрузки допускается только для фильтров с одинаковым приоритетом.
Примечание. Если запрос HTTP генерирует событие, для которого зарегистрирован фильтр, то фильтр будет получать содержащиеся в запросе данные вне зависимости от того, адресован ли запрос к файлу, приложению CGI или расширению ISAPI.