18


que estoy tratando de resolver un "Un valor Request.Form potencialmente peligrosos se detectó desde el cliente" problema, y ​​así respuestas y Scott Hanselman recomienda configurar¿Qué hace requestValidationMode = "2.0" en realidad?

<httpRuntime requestValidationMode="2.0" /> 

en Web.config (junto con la adición de una atribuir a los métodos problemáticos).
Me doy cuenta de que esto cambia el modo de validación a ASP.NET 2.0, pero ¿qué significa eso?
Y también, ¿este cambio tiene algún efecto secundario que deba tener en cuenta?

Gracias.

Respuesta

15

Echa un vistazo a la descripción en MSDN's HttpRuntimeSection.RequestValidationMode Property.

2.0. La validación de solicitud está habilitada solo para páginas, no para todas las solicitudes HTTP. Además, la configuración de validación de solicitud del elemento de las páginas (si existe) en el archivo de configuración o de la directiva @ Página en una página individual se utiliza para determinar qué solicitudes de página validarán al .

0

Tome un vistazo a ASP.NET Request Validation>

La función de validación de solicitud en ASP.NET proporciona un cierto nivel de protección predeterminada en contra de cross-site scripting (XSS) ataques. En versiones anteriores de ASP.NET, la validación de solicitud se habilitó por defecto en . Sin embargo, solo se aplicaba a páginas ASP.NET (archivos .aspx y archivos de clase ) y solo cuando esas páginas se estaban ejecutando.

En ASP.NET 4, de forma predeterminada, la validación de solicitud está habilitada para todas las solicitudes , porque está habilitada antes de la fase BeginRequest de una solicitud HTTP . Como resultado, la validación de solicitud se aplica a las solicitudes de de todos los recursos de ASP.NET, no solo solicitudes de página .aspx. Esto incluye solicitudes , como llamadas al servicio web y controladores HTTP personalizados. La validación de solicitud también está activa cuando los módulos HTTP personalizados están leyendo el contenido de una solicitud HTTP.

Como resultado, ahora pueden producirse errores de validación para las solicitudes que anteriormente no desencadenaban errores. Para volver al comportamiento de la función de validación de solicitud ASP.NET 2.0, añadimos la siguiente configuración en el archivo Web.config:

<httpRuntime requestValidationMode="2.0" /> 

Sin embargo, recomendamos que analice los errores de validación de solicitud para determinar si los manejadores, módulos u otro código personalizado tienen acceso a entradas HTTP potencialmente inseguras que podrían ser vectores de ataque de XSS.

Cuestiones relacionadas