Filtragem de solicitação <requestFiltering>
Visão geral
A Filtragem de Solicitações é um recurso de segurança interno que foi introduzido no IIS (Serviços de Informações da Internet) 7.0 e substitui grande parte da funcionalidade que estava disponível por meio do complemento UrlScan para IIS 6.0. Todas as configurações do recurso de filtragem de solicitação estão localizadas no elemento <requestFiltering>
, que contém vários elementos filho para cada uma das seguintes áreas de recurso:
<denyUrlSequences>
– Esse elemento pode conter uma coleção de padrões de sequência de URL que o IIS 7 negará; por exemplo: você pode negar partes de sequências de URL que um invasor pode tentar explorar.<fileExtensions>
– Esse elemento pode conter uma coleção de extensões de nome de arquivo que o IIS 7 negará ou permitirá; por exemplo: você pode bloquear todas as solicitações de arquivos Web.config.<hiddenSegments>
– Esse elemento pode conter uma coleção de URLs que não podem ser navegados; por exemplo: você pode negar solicitações para a pasta ASP.NET App_Code.<requestLimits>
– Esse elemento contém as configurações de URL, conteúdo e comprimentos de cadeia de caracteres de consulta. Ele também pode conter uma coleção de comprimentos máximos definidos pelo usuário para cabeçalhos HTTP.<verbs>
– Este elemento pode conter uma coleção de verbos HTTP que o IIS 7 negará ou permitirá; por exemplo: você pode bloquear todas as solicitações HTTP TRACE.
Novidades no IIS 7.5
O IIS 7.5 adicionou várias áreas de recursos adicionais para filtragem de solicitações:
<alwaysAllowedUrls>
– Este elemento pode conter uma coleção de URLs que a filtragem de solicitação sempre permitirá.<alwaysAllowedQueryStrings>
– Este elemento pode conter uma coleção de cadeia de caracteres de consulta que a filtragem de solicitação sempre permitirá.<denyQueryStringSequences>
– Este elemento pode conter uma coleção de sequências de cadeia de caracteres de consulta que a filtragem de solicitação sempre permitirá. Isso permite que os administradores bloqueiem sequências de caracteres de consulta potencialmente perigosas detectadas.<filteringRules>
– Esse elemento pode conter uma coleção de regras de filtragem de solicitação personalizadas. Essa coleção permite que os administradores criem regras de filtragem de solicitação personalizadas para critérios específicos.
Novidades no IIS 10.0
O IIS 10.0 adicionou o atributo removeServerHeader
para suprimir o envio do cabeçalho do servidor HTTP para clientes remotos.
Códigos de substatus de erro HTTP 404
Quando a filtragem de solicitações bloqueia uma solicitação HTTP, o IIS 7 retornará um erro HTTP 404 ao cliente e registrará o status HTTP com um substatus exclusivo que identifica o motivo pelo qual a solicitação foi negada. Por exemplo:
Substatus HTTP | Descrição |
---|---|
404.5 |
Sequência de URL negada |
404.6 |
Verbo negado |
404.7 |
Extensão de arquivo negada |
404.8 |
Namespace Oculto |
404.11 |
URL com escape duplo |
404.12 |
URL tem caracteres de bits altos |
404.14 |
URL muito longa |
404.15 |
Cadeia de caracteres de consulta muito longa |
404.18 |
Sequência da Cadeia de Caracteres de Consulta Negada |
404.19 |
Regra de Filtragem Negada |
413.1 |
Tamanho do conteúdo muito grande |
431 |
Cabeçalho de solicitação muito longo |
Esses substatus permitem que os administradores Web analisem seus logs do IIS e identifiquem possíveis ameaças.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | A capacidade de suprimir o cabeçalho do servidor foi adicionada no IIS 10.0. |
IIS 8.5 | O elemento <requestFiltering> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <requestFiltering> não foi modificado no IIS 8.0. |
IIS 7.5 | No IIS 7.5, a filtragem de solicitação é fornecida com o atributo unescapeQueryString e os elementos alwaysAllowedUrls , alwaysAllowedQueryStrings , denyQueryStringSequences e filteringRules . Esses elementos foram introduzidos primeiro como uma atualização para o IIS 7.0 que está disponível por meio do Artigo 957508 da Base de Dados de Conhecimento Microsoft (https://support.microsoft.com/kb/957508 ). |
IIS 7.0 | O elemento <requestFiltering> foi introduzido no IIS 7.0. |
IIS 6,0 | O elemento <requestFiltering> substitui os recursos UrlScan do IIS 6.0. |
Instalação
A instalação padrão dos IIS 7 e versões posteriores inclui o serviço ou recurso de função Filtragem de Solicitações. Se o serviço ou recurso de função Filtragem de Solicitações for desinstalado, você poderá reinstalá-lo usando as etapas a seguir.
Windows Server 2012 R2 ou Windows Server 2012
- Na barra de tarefas, clique em Gerenciador do Servidor.
- No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
- 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.
- Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, expanda Segurança e selecione Filtragem de Solicitações. Clique em Avançar.
. - Na página Selecionar recursos, clique em Avançar.
- Na página Confirmar seleções de instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.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.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
- Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Segurança e, em seguida, selecione Filtragem de Solicitações.
- Clique em OK.
- Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
- No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
- Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Filtragem de Solicitações e clique em Avançar.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows Vista ou Windows 7
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
- Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Segurança.
- Selecione Filtragem de Solicitações e clique em OK.
Instruções
Observação para usuários dos IIS 7.0: algumas etapas nesta seção podem exigir que você instale o Microsoft Administration Pack para IIS 7.0, que inclui uma interface do usuário para filtragem de solicitações. Para instalar o Microsoft Administration Pack para IIS 7.0, consulte a seguinte URL:
Como editar as configurações do recurso de filtragem de solicitação e os limites de solicitação
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).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja modificar as configurações de filtragem de solicitações.
No painel Página Inicial, clique duas vezes em Filtragem de Solicitações.
Clique em Editar Configurações de Recurso... no painel Ações.
Especifique suas opções e clique em OK.
Por exemplo, você pode fazer as seguintes alterações:- Altere o comprimento máximo da URL para 2KB especificando 2048.
- Altere o comprimento máximo da cadeia de caracteres de consulta para 1KB especificando 1024.
- Negue acesso a verbos HTTP não listados desmarcando a caixa de seleção Permitir verbos não listados.
Como negar uma sequência de URL
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).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja modificar as configurações de filtragem de solicitações.
No painel Página Inicial, clique duas vezes em Filtragem de Solicitações.
No painel Filtragem de Solicitações, clique na guia Negar Sequências de URL e clique em Adicionar Sequência de URL... no painel Ações.
Na caixa de diálogo Adicionar Sequência de Negação, insira a sequência de URL que você deseja bloquear e clique em OK.
Por exemplo, para evitar a transversalidade do diretório no servidor, insira dois pontos ("..") na caixa de diálogo.
Como negar o acesso a uma extensão de nome de arquivo específica
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).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja modificar as configurações de filtragem de solicitações.
No painel Página Inicial, clique duas vezes em Filtragem de Solicitações.
No painel Filtragem de Solicitações, clique na guia Extensões de Nome de Arquivo e clique em Negar Extensão de Nome de Arquivo... no painel Ações.
Na caixa de diálogo Negar Extensão de Nome de Arquivo, insira a extensão de nome de arquivo que você deseja bloquear e, em seguida, clique em OK.
Por exemplo, para impedir o acesso a arquivos com uma extensão de nome de arquivo .inc, digite "inc" na caixa de diálogo.
Como adicionar um segmento oculto
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).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja modificar as configurações de filtragem de solicitações.
No painel Página Inicial, clique duas vezes em Filtragem de Solicitações.
No painel Filtragem de Solicitações, clique na guia Segmentos Ocultos e clique em Adicionar Segmento Oculto... no painel Ações.
Na caixa de diálogo Adicionar Segmento Oculto, insira o caminho relativo que você deseja ocultar e clique em OK.
Como adicionar limites para cabeçalhos HTTP
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).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja modificar as configurações de filtragem de solicitações.
No painel Página Inicial, clique duas vezes em Filtragem de Solicitações.
No painel Filtragem de Solicitações, clique na guia Cabeçalhos e clique em Adicionar Cabeçalho... no painel Ações.
Na caixa de diálogo Adicionar Cabeçalho, digite o cabeçalho HTTP e o tamanho máximo desejado para o limite de cabeçalho e clique em OK.
Por exemplo, o cabeçalho “Content-type” contém o tipo MIME para uma solicitação. A especificação de um valor de 100 limitaria o tamanho de um cabeçalho “Content-type” a 100 bytes.
Como negar um verbo HTTP
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).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja modificar as configurações de filtragem de solicitações.
No painel Página Inicial, clique duas vezes em Filtragem de Solicitações.
No painel Filtragem de Solicitações, clique na guia Verbos HTTP e clique em Negar Verbo... no painel Ações.
Na caixa de diálogo Negar Verbo, digite o verbo HTTP que você deseja bloquear e clique em OK.
Por exemplo, para impedir solicitações HTTP TRACE para o servidor, digite “TRACE” na caixa de diálogo.
Configuração
Atributos
Atributo | Descrição |
---|---|
allowDoubleEscaping |
Atributo booliano opcional. Se definida como true, a filtragem de solicitação permitirá URLs com caracteres de escape duplo. Se definido como false, a filtragem de solicitação negará a solicitação se caracteres que foram escapados duas vezes estiverem presentes em URLs. O valor padrão é false . |
allowHighBitCharacters |
Atributo booliano opcional. Se definido como true, a filtragem de solicitação permitirá caracteres não-ASCII em URLs. Se definido como false, a filtragem de solicitação negará a solicitação se caracteres de bits altos estiverem presentes em URLs. O valor padrão é true . |
removeServerHeader |
Atributo booliano opcional. Se definido como true, a filtragem de solicitação suprimirá o cabeçalho do servidor IIS. Se definido como false, o IIS retornará o cabeçalho de servidor padrão. (Observação: esse atributo foi adicionado ao IIS 10.0 e não funciona em versões do Windows anteriores ao Windows Server, versão 1709 ou Windows 10, versão 1709.) O valor padrão é false . |
unescapeQueryString |
Atributo booliano opcional. Se definida como true, a filtragem de solicitação executará duas passagens em cada verificação de cadeia de caracteres de consulta. A primeira passagem verificará a cadeia de caracteres de consulta bruta e a segunda passagem verificará a cadeia de caracteres de consulta depois que o IIS tiver decodificado todas as sequências de escape. Se definida como false, a filtragem de solicitação examinará apenas a cadeia de caracteres de consulta bruta conforme enviada pelo cliente. Observação: esse atributo foi adicionado ao IIS 7.5. O valor padrão é true . |
Elementos filho
Elemento | Descrição |
---|---|
alwaysAllowedQueryStrings |
Elemento opcional. Especifica uma coleção de cadeias de caracteres de consulta que a filtragem de solicitações sempre permitirá. Observação: esse elemento foi adicionado ao IIS 7.5. |
alwaysAllowedUrls |
Elemento opcional. Especifica uma coleção de URLs que a filtragem de solicitações sempre permitirá. Observação: esse elemento foi adicionado ao IIS 7.5. |
denyQueryStringSequences |
Elemento opcional. Especifica uma coleção de sequências de cadeias de caracteres de consulta que a filtragem de solicitações sempre negará. Observação: esse elemento foi adicionado ao IIS 7.5. |
denyUrlSequences |
Elemento opcional. Especifica sequências que devem ser negadas para ajudar a evitar ataques baseados em URL no servidor Web. |
fileExtensions |
Elemento opcional. Especifica quais extensões de nome de arquivo são permitidas ou negadas para limitar os tipos de solicitações enviadas ao servidor Web. |
filteringRules |
Elemento opcional. Especifica uma coleção de regras de filtragem de solicitações personalizadas. Observação: esse elemento foi adicionado ao IIS 7.5. |
hiddenSegments |
Elemento opcional. Especifica que determinados segmentos de URLs podem ser tornados inacessíveis aos clientes. |
requestLimits |
Elemento opcional. Especifica os limites de solicitações processadas pelo servidor Web. |
verbs |
Elemento opcional. Especifica quais verbos HTTP são permitidos ou negados para limitar os tipos de solicitações enviadas ao servidor Web. |
Exemplo de configuração
O exemplo de configuração a seguir de um arquivo Web.config executa várias tarefas relacionadas à segurança:
- Nega acesso a duas sequências de URL. A primeira sequência impede o diretório transversal e a segunda sequência impede o acesso a fluxos de dados alternativos.
- Nega acesso a extensões de nome de arquivo não listadas e verbos HTTP não listados.
- Define o comprimento máximo de uma URL como 2KB e o comprimento máximo de uma cadeia de caracteres de consulta como 1KB.
<configuration>
<system.webServer>
<security>
<requestFiltering>
<denyUrlSequences>
<add sequence=".." />
<add sequence=":" />
</denyUrlSequences>
<fileExtensions allowUnlisted="false" />
<requestLimits maxUrl="2048" maxQueryString="1024" />
<verbs allowUnlisted="false" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Exemplo de código
Os exemplos de código a seguir demonstram como negar acesso a três sequências de URL para o Site Padrão: transversais de diretório (“..”), fluxos de dados alternativos (“:”) e barras invertidas (“”).
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='..']"
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence=':']"
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='\']"
PowerShell
Start-IISCommitDelay
$denyUrlSequences = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'denyUrlSequences'
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '..' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = ':' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '\' }
Stop-IISCommitDelay
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.GetWebConfiguration("Default Web Site");
ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");
ConfigurationElementCollection denyUrlSequencesCollection = requestFilteringSection.GetCollection("denyUrlSequences");
ConfigurationElement addElement = denyUrlSequencesCollection.CreateElement("add");
addElement["sequence"] = @"..";
denyUrlSequencesCollection.Add(addElement);
ConfigurationElement addElement1 = denyUrlSequencesCollection.CreateElement("add");
addElement1["sequence"] = @":";
denyUrlSequencesCollection.Add(addElement1);
ConfigurationElement addElement2 = denyUrlSequencesCollection.CreateElement("add");
addElement2["sequence"] = @"\";
denyUrlSequencesCollection.Add(addElement2);
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.GetWebConfiguration("Default Web Site")
Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
Dim denyUrlSequencesCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("denyUrlSequences")
Dim addElement As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
addElement("sequence") = ".."
denyUrlSequencesCollection.Add(addElement)
Dim addElement1 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
addElement1("sequence") = ":"
denyUrlSequencesCollection.Add(addElement1)
Dim addElement2 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
addElement2("sequence") = "\"
denyUrlSequencesCollection.Add(addElement2)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection;
var addElement = denyUrlSequencesCollection.CreateNewElement("add");
addElement.Properties.Item("sequence").Value = "..";
denyUrlSequencesCollection.AddElement(addElement);
var addElement1 = denyUrlSequencesCollection.CreateNewElement("add");
addElement1.Properties.Item("sequence").Value = ":";
denyUrlSequencesCollection.AddElement(addElement1);
var addElement2 = denyUrlSequencesCollection.CreateNewElement("add");
addElement2.Properties.Item("sequence").Value = "\\";
denyUrlSequencesCollection.AddElement(addElement2);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection
Set addElement = denyUrlSequencesCollection.CreateNewElement("add")
addElement.Properties.Item("sequence").Value = ".."
denyUrlSequencesCollection.AddElement(addElement)
Set addElement1 = denyUrlSequencesCollection.CreateNewElement("add")
addElement1.Properties.Item("sequence").Value = ":"
denyUrlSequencesCollection.AddElement(addElement1)
Set addElement2 = denyUrlSequencesCollection.CreateNewElement("add")
addElement2.Properties.Item("sequence").Value = "\"
denyUrlSequencesCollection.AddElement(addElement2)
adminManager.CommitChanges()