validaterequest validate the potentially net mvc from form false detected dangerous characters asp asp.net-mvc validation asp.net-mvc-3 asp.net-mvc-validation

asp.net-mvc - the - validate request c#



¿Qué hace requestValidationMode="2.0" en realidad? (2)


Estoy intentando resolver el problema "Se ha detectado un valor de Request.Form potencialmente peligroso desde el cliente", y SO responde y Scott Hanselman recomienda configurar

<httpRuntime requestValidationMode="2.0" />

en Web.config (junto con agregar un atributo a 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.


Eche un vistazo a la validación de solicitud de ASP.NET >

La función de validación de solicitudes en ASP.NET proporciona un cierto nivel de protección predeterminada contra ataques de scripts entre sitios (XSS). En versiones anteriores de ASP.NET, la validación de solicitudes estaba habilitada de forma predeterminada. Sin embargo, se aplicaba solo a las páginas ASP.NET (archivos .aspx y sus archivos de clase) y solo cuando esas páginas se estaban ejecutando.

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

Como resultado, ahora pueden ocurrir errores de validación de solicitudes para solicitudes que previamente no generaron errores. Para volver al comportamiento de la característica de validación de solicitudes de ASP.NET 2.0, agregue la siguiente configuración en el archivo Web.config:

<httpRuntime requestValidationMode="2.0" />

Sin embargo, le recomendamos que analice cualquier error de validación de la solicitud para determinar si los controladores, módulos u otros códigos personalizados acceden a entradas HTTP potencialmente inseguras que podrían ser vectores de ataque XSS.


Verifique la descripción en la propiedad HttpRuntimeSection.RequestValidationMode de MSDN .

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