Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agrega una configuración de esquema para un nombre de esquema.
<configuration>
<uri>
<schemeSettings>
<add>
Syntax
<add
name="http|https"
genericUriParserOptions="DontUnescapePathDotsAndSlashes"
/>
Atributos y elementos
En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.
Attributes
| Atributo | Description |
|---|---|
| nombre | Nombre de esquema para el que se aplica esta configuración. Los únicos valores admitidos son name="http" y name="https". |
{Nombre de atributo} Atributo
| Importancia | Description |
|---|---|
| genericUriParserOptions | Las opciones del analizador para este esquema. El único valor admitido es genericUriParserOptions= "DontUnescapePathDotsAndSlashes". |
Elementos secundarios
Ninguno
Elementos primarios
| Elemento | Description |
|---|---|
| <Elemento schemeSettings> (configuración de URI) | Especifica cómo se analizará un Uri elemento para esquemas específicos. |
Observaciones
De forma predeterminada, la clase anula los System.Uri escapes por ciento de los delimitadores de ruta de acceso codificados antes de ejecutar la compresión de ruta de acceso. Esto se implementó como un mecanismo de seguridad contra ataques como el siguiente:
http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\
Si este URI se pasa a módulos que no controlan correctamente los caracteres codificados por porcentaje, podría dar lugar a que el servidor ejecute el siguiente comando:
c:\Windows\System32\cmd.exe /c dir c:\
Por este motivo, la clase primero anula los escapes delimitadores de ruta de acceso y, a continuación, System.Uri aplica la compresión de ruta de acceso. El resultado de pasar la dirección URL malintencionada anterior al System.Uri constructor de clase da como resultado el siguiente URI:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
Este comportamiento predeterminado se puede modificar para no anular el escape de los delimitadores de ruta de acceso codificados mediante la opción de configuración schemeSettings para un esquema específico.
Archivos de configuración
Este elemento se puede usar en el archivo de configuración de la aplicación o en el archivo de configuración de la máquina (Machine.config).
Example
En el ejemplo siguiente se muestra una configuración usada por la Uri clase para no admitir delimitadores de ruta de acceso codificados por porcentajes para el esquema http.
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>