/ search / <searchterm>을 통해 물건을 검색 할 수있는 경로가있는 ASP.NET MVC 응용 프로그램이 있습니다.
"search / abc"를 제공하면 잘 작동하지만 "/ search / a + b + c"(올바로 URL 인코딩)를 제공하면 IIS7은 HTTP 오류 404.11로 요청을 거부합니다 ( 요청 필터링 모듈은 이중 이스케이프 시퀀스가 포함 된 요청 ). 우선, 왜 이렇게합니까? URL의 일부이지만 쿼리 문자열의 일부가 아닌 경우에만 오류가 발생하는 것 같습니다 (/ transmit? q = a + b + c는 정상적으로 작동합니다).
이제 web.config의 보안 섹션에서 이중 이스케이프 요청을 활성화 할 수 있지만 그 의미를 이해하지 못하고 서버가 요청 "a + b + c"를 거부하지 않는 이유는 무엇입니까? URL의 일부이지만 쿼리 문자열의 일부로 허용합니다.
누군가 설명하고 조언을 해줄 수 있습니까?
/search/a%2520b%2520c
마크 업으로 끝나서 "위험한 Request.Path 값이 클라이언트에서 감지되었습니다 (%)"오류가 발생했습니다. 당신은 그것을 이길 수 없어 보인다.