He creado un nuevo sitio ASP.NET MVC 3/.NET Framework 4.0 utilizando la plantilla "Aplicación de Internet". Utilicé Nuget para instalar el paquete Windows Azure Web Role (MVC3) y luego seguí el Access Control Service walkthrough para configurar Windows Live ID y la autenticación de Google.¿Por qué me aparece el error "Se detectó un valor de Request.Form potencialmente peligroso desde el cliente"?
Pronto me encontré con el error "Se detectó un valor Request.Form potencialmente peligroso desde el cliente" y seguí el article in the Windows Identity Foundation wiki para intentar resolverlo. Por desgracia, nada de lo que he intentado obras, entre ellas:
Configuración
<httpRuntime requestValidationMode="2.0"/>
y<pages validateRequest="false">
tanto en la raíz web.config y vistas \ web.configcopia
SampleRequestValidator
desde el SDK de WIF en el proyecto y entorno<httpRuntime requestValidationType="SampleRequestValidator"/>
tanto en web.configs
también he intentado variaciones de los mismos sin éxito.
¿Alguna idea?
Aquí está la excepción completa:
Detalles de la excepción: System.Web.HttpRequestValidationException: se detectó un valor de Request.Form potencialmente peligroso desde el cliente (wresult = "<t:RequestSecurityTo...
").
Descripción: La validación de solicitudes ha detectado un valor de entrada de cliente potencialmente peligroso y se ha cancelado el procesamiento de la solicitud. Este valor puede indicar un intento de comprometer la seguridad de su aplicación, como un ataque de scripts entre sitios. Para permitir que las páginas anulen la configuración de validación de solicitud, configure el atributo requestValidationMode en la sección de configuración httpRuntime para requestValidationMode = "2.0". Ejemplo: <httpRuntime requestValidationMode="2.0" />
. Después de establecer este valor, puede deshabilitar la validación de solicitud configurando validateRequest = "false" en la directiva de la página o en la sección de configuración <pages>
. Sin embargo, se recomienda enfáticamente que su aplicación verifique todas las entradas en este caso. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkId=153133.
Seguimiento de la pila:
[HttpRequestValidationException (0x80004005): Un valor Request.Form potencialmente peligroso se detectó desde el cliente (wresult = "<t:RequestSecurityTo...
").]
System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +8755668 System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +122 System.Web.HttpRequest.get_Form() +114 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.IsSignInResponse(HttpRequest request) +75 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request, Boolean onPage) +205 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request) +41 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +117 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Sin suerte. La excepción parece estar ocurriendo antes de presionar el controlador. Actualizaré la pregunta con el seguimiento de la pila. –