Добавление ограничений <ISAPI/CGI>
Общие сведения
Элемент <add>
в <isapiCgiRestriction>
коллекции позволяет указать отдельные приложения CGI и ISAPI, которые могут выполняться в службах IIS 7.
Совместимость
Версия | Примечания |
---|---|
IIS 10.0 | Элемент <add> не был изменен в IIS 10.0. |
IIS 8,5 | Элемент <add> не был изменен в IIS 8.5. |
IIS 8,0 | Элемент <add> не был изменен в IIS 8.0. |
IIS 7,5 | Элемент <add> не был изменен в IIS 7.5. |
IIS 7.0 | Элемент <add> коллекции появился <isapiCgiRestriction> в IIS 7.0. |
IIS 6,0 | Коллекция <isapiCgiRestriction> заменяет свойство WebSvcExtRestrictionList объекта метабазы IIsWebService IIS 6.0. |
Настройка
Коллекция <isapiCgiRestriction>
доступна только после установки модулей расширений CGI или ISAPI на сервере IIS 7 и более поздних версий. Вы не можете установить его независимо от этих компонентов.
Windows Server 2012 или Windows Server 2012 R2
- На панели задач щелкните Диспетчер сервера.
- В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
- В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
- На странице Роли сервера разверните узел Веб-сервер (IIS),Веб-сервер, Узел приложения, а затем выберите Расширения CGI или ISAPI. Щелкните Далее.
. - На странице Выбор компонентов нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
- На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите панель управления.
- В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- Разверните узел Службы IIS, Веб-службы, Функции разработки приложений, а затем выберите Расширения CGI или ISAPI.
- Нажмите кнопку ОК.
- Щелкните Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку Пуск, выберите Администрирование, а затем диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел Роли и выберите Веб-сервер (IIS).
- На панели Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
- На странице Выбор служб ролеймастера добавления служб ролей выберите расширения CGI или ISAPI.
- Если откроется диалоговое окно Добавление служб ролей , щелкните Добавить необходимые службы ролей. (Эта страница отображается только в том случае, если вы еще не установили необходимые службы ролей на сервере.)
- На странице Выбор служб ролей нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- В диалоговом окне Компоненты Windows разверните узел Службы IIS, затем Веб-службы, а затем Компоненты разработки приложений.
- Выберите Расширения CGI или ISAPI и нажмите кнопку ОК.
Инструкции
Добавление ограничения ISAPI или CGI
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения щелкните имя сервера.
На панели Главная дважды щелкните ограничения ISAPI и CGI.
В области Действия нажмите кнопку Добавить...
В диалоговом окне Добавление ограничения ISAPI или CGI введите путь к двоичному файлу, который нужно добавить, в поле ISAPI или CGI путь, введите описание двоичного файла в поле Описание, выберите параметр Разрешить путь расширения для выполнения проверка, чтобы разрешить выполнение двоичного файла на сервере, а затем нажмите кнопку ОК.
Конфигурация
Коллекцию <isapiCgiRestriction>
можно настроить только на уровне сервера в файле ApplicationHost.config.
Атрибуты
Атрибут | Описание |
---|---|
allowed |
Обязательный логический атрибут. Указывает, разрешает ли ограничение или запрещает запуск модуля CGI или ISAPI на сервере. Полный список значений по умолчанию см. в разделе Конфигурация по умолчанию ниже. |
Описание | Необязательный строковый атрибут. Указывает понятное описание группы, связанной с этим идентификатором groupID. Полный список значений по умолчанию см. в разделе Конфигурация по умолчанию ниже. |
groupId |
Необязательный строковый атрибут. Указывает groupID приложения, которое зависит от ограничения расширения. Полный список значений по умолчанию см. в разделе Конфигурация по умолчанию ниже. |
path |
Обязательный строковый атрибут. Указывает путь к модулю CGI или ISAPI в файловой системе сервера. Полный список значений по умолчанию см. в разделе Конфигурация по умолчанию ниже. |
Дочерние элементы
Отсутствует.
Образец конфигурации
Следующий пример конфигурации представляет собой конфигурацию <isapiCgiRestriction>
элемента для IIS 7.0 после установки ASP и ASP.NET версии 2.0.
<isapiCgiRestriction>
<add allowed="true" groupId="ASP"
path="%windir%\system32\inetsrv\asp.dll"
description="Active Server Pages" />
<add allowed="true" groupId="ASP.NET v2.0.50727"
path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
description="ASP.NET v2.0.50727" />
</isapiCgiRestriction>
Пример кода
В следующих примерах добавляется ограничение ISAPI/CGI для пользовательского расширения ISAPI, которое находится в папке содержимого веб-сайта, расположенного в папке C:\Inetpub\www.contoso.com\wwwroot. В примерах указывается имя, путь и группа расширения ISAPI и включается расширение.
AppCmd.exe
appcmd.exe set config -section:system.webServer/security/isapiCgiRestriction /+"[path='C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll',allowed='True',groupId='ContosoGroup',description='Contoso Extension']" /commit:apphost
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphost
фиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection isapiCgiRestrictionSection = config.GetSection("system.webServer/security/isapiCgiRestriction");
ConfigurationElementCollection isapiCgiRestrictionCollection = isapiCgiRestrictionSection.GetCollection();
ConfigurationElement addElement = isapiCgiRestrictionCollection.CreateElement("add");
addElement["path"] = @"C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll";
addElement["allowed"] = true;
addElement["groupId"] = @"ContosoGroup";
addElement["description"] = @"Contoso Extension";
isapiCgiRestrictionCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim isapiCgiRestrictionSection As ConfigurationSection = config.GetSection("system.webServer/security/isapiCgiRestriction")
Dim isapiCgiRestrictionCollection As ConfigurationElementCollection = isapiCgiRestrictionSection.GetCollection
Dim addElement As ConfigurationElement = isapiCgiRestrictionCollection.CreateElement("add")
addElement("path") = "C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll"
addElement("allowed") = True
addElement("groupId") = "ContosoGroup"
addElement("description") = "Contoso Extension"
isapiCgiRestrictionCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var isapiCgiRestrictionSection = adminManager.GetAdminSection("system.webServer/security/isapiCgiRestriction", "MACHINE/WEBROOT/APPHOST");
var isapiCgiRestrictionCollection = isapiCgiRestrictionSection.Collection;
var addElement = isapiCgiRestrictionCollection.CreateNewElement("add");
addElement.Properties.Item("path").Value = "C:\\Inetpub\\www.contoso.com\\wwwroot\\isapi\\custom.dll";
addElement.Properties.Item("allowed").Value = true;
addElement.Properties.Item("groupId").Value = "ContosoGroup";
addElement.Properties.Item("description").Value = "Contoso Extension";
isapiCgiRestrictionCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set isapiCgiRestrictionSection = adminManager.GetAdminSection("system.webServer/security/isapiCgiRestriction", "MACHINE/WEBROOT/APPHOST")
Set isapiCgiRestrictionCollection = isapiCgiRestrictionSection.Collection
Set addElement = isapiCgiRestrictionCollection.CreateNewElement("add")
addElement.Properties.Item("path").Value = "C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll"
addElement.Properties.Item("allowed").Value = True
addElement.Properties.Item("groupId").Value = "ContosoGroup"
addElement.Properties.Item("description").Value = "Contoso Extension"
isapiCgiRestrictionCollection.AddElement(addElement)
adminManager.CommitChanges()