Compartilhar via


Adicionar restrições ISAPI/CGI <adicionar>

Visão geral

O elemento <add> na coleção <isapiCgiRestriction> permite especificar aplicativos CGI e ISAPI individuais que podem ser executados no IIS (Serviços de Informações da Internet) 7.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <add> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <add> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <add> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <add> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <add> da coleção <isapiCgiRestriction> foi introduzido no IIS 7.0.
IIS 6,0 A coleção <isapiCgiRestriction> substitui a propriedade WebSvcExtRestrictionList do objeto de metabase IIsWebService do IIS 6.0.

Instalação

A coleção <isapiCgiRestriction> está disponível somente depois de instalar os módulos de Etensões CGI ou ISAPI no servidor IIS 7 e posterior. Você não pode instalá-lo independentemente desses recursos.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Desenvolvimento do Aplicativo e selecionar CGI ou Extensões ISAPI. Clique em Avançar.
    Screenshot of the I S A P I Extensions option being highlighted and selected. .
  5. Na página Selecionar recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos de Desenvolvimento de Aplicativos e selecione CGI ou Extensões ISAPI.
    Screenshot of the I S A P I folder being selected and highlighted.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione CGI ou Extensões ISAPI.
    Screenshot of the Select Role Services wizard showing the I S A P I Extensions option being highlighted and selected.
  5. Se a caixa de diálogo Adicionar serviços de função for exibida, clique em Adicionar Serviços de Função Necessários. (Esta página será exibida somente se você ainda não tiver instalado nenhum serviço de função de pré-requisito no servidor.)
  6. Na página Selecionar Serviços de Função, clique em Avançar.
  7. Na página Confirmar Seleções de Instalação, clique em Instalar.
  8. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Na caixa de diálogo Recursos do Windows, expanda Serviços de Informações da Internet, em seguida, World Wide Web Services e Recursos de Desenvolvimento de Aplicativos.
  4. Selecione CGI ou Extensões de ISAPI e clique em OK.
    Screenshot of the C G I and I S A P I Extensions folders being selected.

Instruções

Como adicionar uma restrição ISAPI ou CGI

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou Windows 8.1:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:

      • Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
      • Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, clique no nome do servidor.

  3. No painel Página Inicial, clique duas vezes em Restrições ISAPI e CGI.
    Screenshot of the SERVER Home pane with the I S A P I and C G I Restrictions option being highlighted.

  4. No painel Ações, clique em Adicionar...

  5. Na caixa de diálogo Adicionar Restrição de ISAPI ou CGI, digite o caminho para o binário que você deseja adicionar na caixa Caminho ISAPI ou CGI, digite a descrição do binário na caixa Descrição, selecione a caixa de seleção Permitir a opção do caminho de extensão para executar para permitir que o binário execute no servidor e clique em OK.
    Screenshot of the Add I S A P I or C G I Restriction dialog box.

Configuração

A coleção <isapiCgiRestriction> só pode ser configurada no nível do servidor no arquivo ApplicationHost.config.

Atributos

Atributo Descrição
allowed Atributo booliano necessário.

Especifica se a restrição permite ou nega a execução de um módulo CGI ou ISAPI no servidor.

Consulte a seção Configuração padrão abaixo para obter a lista completa de valores padrão.
Descrição Atributo de cadeia de caracteres opcional.

Especifica a descrição amigável do grupo associado a este groupID.

Consulte a seção Configuração padrão abaixo para obter a lista completa de valores padrão.
groupId Atributo de cadeia de caracteres opcional.

Especifica o groupID do aplicativo que tem uma dependência de uma restrição de extensão.

Consulte a seção Configuração padrão abaixo para obter a lista completa de valores padrão.
path Atributo de cadeia de caracteres obrigatório.

Especifica o caminho para o módulo CGI ou ISAPI no sistema de arquivos do servidor.

Consulte a seção Configuração padrão abaixo para obter a lista completa de valores padrão.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir é a configuração do elemento <isapiCgiRestriction> para o IIS 7.0 depois de instalar o ASP e o ASP.NET versão 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>

Exemplo de código

Os exemplos a seguir adicionam uma restrição ISAPI/CGI para uma extensão ISAPI personalizada localizada na pasta de conteúdo de um site localizado em C:\Inetpub\www.contoso.com\wwwroot. Os exemplos especificam o nome, o caminho e o grupo da extensão ISAPI e habilitam a extensão.

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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()