Eu tenho um problema de código legado que exige que eu suporte urls aleatórias como se fossem solicitações para a página inicial. Alguns dos URLs contêm caracteres que geram o erro "Um valor Request.Path potencialmente perigoso foi detectado do cliente (&)" . O site foi escrito com ASP.Net MVC 3 (em C #) e está sendo executado no IIS 7.5.
Aqui está um exemplo de URL ...
http://mywebsite.com/Test123/This_&_That
Veja como tenho minha configuração de rota geral (tenho outras rotas para acessar 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
);
Eu adicionei os seguintes itens ao meu arquivo web.config ...
<configuration>
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
<configuration>
Também adicionei o atributo ValidateInput à ação que deve capturar os urls ...
public class WebsiteController : Controller
{
[ValidateInput(false)]
public ActionResult Home()
{
return View();
}
}
Mas ainda estou recebendo o erro. Alguma ideia por quê? Perdi alguma coisa? No momento, estou apenas executando no meu servidor de desenvolvimento local (ainda não tentei essas correções na produção).