Eu tenho um aplicativo ASP.NET MVC com uma rota que permite pesquisar coisas via / search / <searchterm>.
Quando eu forneço "search / abc", ele funciona bem, mas quando eu forneça "/ search / a + b + c" (codificado corretamente por URL), o IIS7 rejeita a solicitação com o Erro HTTP 404.11 ( O módulo de filtragem de solicitação está configurado para negar uma solicitação que contém uma sequência de escape duplo ). Primeiro de tudo, por que isso acontece? Parece apenas lançar o erro se fizer parte da URL, mas não como parte de uma string de consulta (/ transmit? Q = a + b + c funciona bem).
Agora eu poderia habilitar solicitações de escape duplo na seção de segurança do meu web.config, mas hesito em fazê-lo, pois não entendo as implicações e nem por que o servidor rejeitaria a solicitação "a + b + c" como parte do URL, mas aceite como parte de uma sequência de consultas.
Alguém pode explicar e dar alguns conselhos sobre o que fazer?
/search/a%2520b%2520c
a marcação que levou a um erro adorável "Um valor Request.Path potencialmente perigoso foi detectado no cliente (%)". Parece que você não pode vencer.