Share via


Always Allowed URLs <alwaysAllowedUrls>

Información general

El elemento <alwaysAllowedUrls> contiene una colección de elementos <add> que especifican patrones de cadena de consulta que el filtrado de solicitudes permitirán, lo que invalida los valores de la colección <denyUrlSequences>.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <alwaysAllowedUrls> no se modificó en IIS 10.0.
IIS 8.5 El elemento <alwaysAllowedUrls> no se modificó en IIS 8.5.
IIS 8.0 El elemento <alwaysAllowedUrls> no se modificó en IIS 8.0.
IIS 7.5 El elemento <alwaysAllowedUrls> del elemento <requestFiltering> se incluye como una característica de IIS 7.5.
IIS 7.0 El elemento <alwaysAllowedUrls> del elemento <requestFiltering> se introdujo como una actualización de IIS 7.0, disponible a través del artículo de Microsoft Knowledge Base 957508 (https://support.microsoft.com/kb/957508).
IIS 6,0 El elemento <alwaysAllowedUrls> es aproximadamente análogo a la sección [AlwaysAllowedQueryStrings] que se agregó a URLScan 3.0.

Configuración

La instalación predeterminada de IIS 7 y versiones posteriores incluye el servicio de rol o característica Filtrado de solicitudes. Si se desinstala el servicio o el rol de Filtrado de solicitudes puede volver a instalarlo siguiendo estos pasos.

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
  4. En la página Roles de servidor, expanda Servidor web (IIS), expanda Servidor web, expanda Seguridad y luego seleccione Filtrado de solicitudes. Haga clic en Next.
    Screenshot of Request Filtering selected in a Windows Server 2012 interface. .
  5. En la página Seleccionar características, haz clic en Siguiente.
  6. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  7. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, expanda Servicios World Wide Web, expanda Seguridad y luego seleccione Filtrado de solicitudes.
    Screenshot of Request Filtering selected in a Windows 8 interface.
  4. Haga clic en OK.
  5. Haga clic en Cerrar.

Windows Server 2008 o Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
  4. En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Filtrado de solicitudes y luego haga clic en Siguiente.
    Screenshot of Request Filtering selected in a Windows Server 2008 interface.
  5. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  6. En la página Resultados , haga clic en Cerrar.

Windows Vista o Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, después World Wide Web Services y luego Seguridad.
  4. Seleccione Filtrado de solicitudes y haga clic en Aceptar.
    Screenshot of Request Filtering selected in a Windows Vista or Windows 7 interface.

Procedimientos

Cómo permitir siempre una dirección URL

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, vaya a la conexión, sitio u aplicación de la que quiere modificar la configuración del filtrado de solicitudes.

  3. En el panel Página principal, haga doble clic en Filtrado de solicitudes.

  4. En el panel Filtrado de solicitudes, haga clic en la pestaña URL y, a continuación, haga clic en Permitir dirección URL... en el panel Acciones.

  5. En el cuadro de diálogo Permitir dirección URL, escriba la dirección URL que desea permitir y, a continuación, haga clic en Aceptar.

Configuración

El elemento <alwaysAllowedUrls> del elemento <requestFiltering> se configura en el nivel de sitio, aplicación o directorio.

Atributos

Ninguno.

Elementos secundarios

Elemento Descripción
add Elemento opcional.

Agrega una dirección URL a la colección de direcciones URL que solicitan el filtrado siempre permitirá.
clear Elemento opcional.

Borra la colección de direcciones URL que solicitan el filtrado siempre permitirá.
remove Elemento opcional.

Quita una dirección URL de la colección de direcciones URL que solicitan el filtrado siempre permitirá.

Ejemplo de configuración

En el ejemplo siguiente se muestra una combinación de un elemento <denyUrlSequences> y un elemento <alwaysAllowedUrls> que denegará las direcciones URL si contienen una de dos secuencias de caracteres específicas, pero siempre permitirá una dirección URL específica que contenga ambas secuencias de caracteres específicas en un orden determinado.

<system.webServer>
   <security>
      <requestFiltering>
         <denyUrlSequences>
            <add sequence="bad" />
            <add sequence="sequence" />
         </denyUrlSequences>
         <alwaysAllowedUrls>
            <add url="/bad_sequence.txt" />
         </alwaysAllowedUrls>
      </requestFiltering>
   </security>
</system.webServer>

Código de ejemplo

En los ejemplos siguientes se muestra cómo agregar una dirección URL que siempre se permitirá en el sitio web predeterminado.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"alwaysAllowedUrls.[url='/_allowed_url.aspx']"

PowerShell

$alwaysAllowedUrls = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'alwaysAllowedUrls'
New-IISConfigCollectionElement -ConfigCollection $alwaysAllowedUrls -ConfigAttribute @{ 'url' = '/_allowed_url.aspx' }

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 alwaysAllowedUrlsCollection = requestFilteringSection.GetCollection("alwaysAllowedUrls");

         ConfigurationElement addElement = alwaysAllowedUrlsCollection.CreateElement("add");
         addElement["url"] = @"/allowed_url.aspx";
         alwaysAllowedUrlsCollection.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.GetWebConfiguration("Default Web Site")
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")

      Dim alwaysAllowedUrlsCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("alwaysAllowedUrls")
      Dim addElement As ConfigurationElement = alwaysAllowedUrlsCollection.CreateElement("add")
      addElement("url") = "/allowed_url.aspx"
      alwaysAllowedUrlsCollection.Add(addElement)

      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 alwaysAllowedUrlsCollection = requestFilteringSection.ChildElements.Item("alwaysAllowedUrls").Collection;
var addElement = alwaysAllowedUrlsCollection.CreateNewElement("add");
addElement.Properties.Item("url").Value = "/allowed_url.aspx";
alwaysAllowedUrlsCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = 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 alwaysAllowedUrlsCollection = requestFilteringSection.ChildElements.Item("alwaysAllowedUrls").Collection
Set addElement = alwaysAllowedUrlsCollection.CreateNewElement("add")
addElement.Properties.Item("url").Value = "/allowed_url.aspx"
alwaysAllowedUrlsCollection.AddElement(addElement)

adminManager.CommitChanges()