Tengo un problema de código heredado que requiere que admita URL aleatorias como si fueran solicitudes para la página de inicio. Algunas de las URL tienen caracteres que generan el error "Se detectó un valor Request.Path potencialmente peligroso del cliente (&)" . El sitio está escrito con ASP.Net MVC 3 (en C #) y se ejecuta en IIS 7.5.
Aquí hay una URL de ejemplo ...
http://mywebsite.com/Test123/This_&_That
Así es como tengo la configuración de mi ruta general (tengo otras rutas para capturar páginas específicas) ...
routes.MapRoute(
"Default", // Route name
"{garb1}/{garb2}", // URL with parameters
new { controller = "Website", action = "Home", garb1 = UrlParameter.Optional, garb2 = UrlParameter.Optional } // Parameter defaults
);
He agregado las siguientes cosas a mi archivo web.config ...
<configuration>
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
<configuration>
También agregué el atributo ValidateInput a la acción que debería capturar las URL ...
public class WebsiteController : Controller
{
[ValidateInput(false)]
public ActionResult Home()
{
return View();
}
}
Pero sigo recibiendo el error. ¿Alguna idea de por qué? ¿Me he perdido algo? En este momento solo estoy corriendo en mi servidor de desarrollo local (todavía no he probado estas correcciones en producción).