Mam aplikację ASP.NET MVC z trasą umożliwiającą wyszukiwanie rzeczy za pośrednictwem / search / <searchterm>.
Kiedy podaję „search / abc”, działa to dobrze, ale kiedy podaję „/ search / a + b + c” (poprawnie zakodowany adres URL), IIS7 odrzuca żądanie z błędem HTTP 404.11 ( moduł filtrowania żądań jest skonfigurowany tak, aby odmawiać żądanie zawierające podwójną sekwencję ucieczki ). Po pierwsze, dlaczego to robi? Wydaje się, że zgłasza błąd tylko wtedy, gdy jest częścią adresu URL, ale nie jako część ciągu zapytania (/ transmit? Q = a + b + c działa dobrze).
Teraz mogę włączyć podwójne żądania ucieczki w sekcji bezpieczeństwa mojego pliku web.config, ale waham się, czy to zrobić, ponieważ nie rozumiem konsekwencji ani dlaczego serwer miałby odrzucić żądanie „a + b + c” jako część adresu URL, ale zaakceptuj jako część ciągu zapytania.
Czy ktoś może wyjaśnić i udzielić porady, co robić?
/search/a%2520b%2520c
znacznikiem, który doprowadził do uroczego błędu „Wykryto potencjalnie niebezpieczną wartość Request.Path od klienta (%)”. Wygląda na to, że nie możesz wygrać.