2014-01-14 1 views
5

저는 몇 주 동안 IIS 7.5에서 실행되는 ASP.NET MVC 4 웹 응용 프로그램을 보유하고 있으며 최근에 꽤 많은 다음 오류 :
System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (?). at System.Web.HttpRequest.ValidateInputIfRequiredByConfig() at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

URL 경로에 잘못된 문자가 포함되어 있지만 이상한 점은 URL이 유효하다는 것입니다. 다음은 URL의 한 예입니다 : www.mysite.com/myApp/bookTitle?chapter=12&page=278.

그러나보고 된 링크 중 하나를 시도하면 예외없이 정상적으로 작동합니다. 오류 로그를 보면유효한 URL로 클라이언트 (?)에서 잠재적으로 위험한 Request.Path 값이 감지되었습니다.

나는 쿼리 문자열이 QUERY_STRING 변수의 일부로 표시되지 않습니다 것으로 나타났습니다하지만이처럼 보이는 PATH_INFO 변수에 경로의 나머지와 함께 포함되어 있습니다 :
/myApp/bookTitle?chapter=12&page=278. 그래서 (?) URL과 인코딩의 일종의 경로 (아마도) 때문에 경로와 쿼리 사이의 구분 기호로 인식되지 않습니다 있지만이 문제를 해결할 방법을 잘 모르겠습니다.

도움을 주시면 감사하겠습니다.

+0

중복 가능성이 있습니까? http://stackoverflow.com/questions/14475913/url-routing-image-handler-a-potentially-dangerous-request-path-value – StuartLC

+0

잠재적 인 위험한 Request.Path 값이 클라이언트에서 발견되었습니다 (\ *)] (http://stackoverflow.com/questions/5967103/a-potentially-dangerous-request-path-value-was-detected-from-the-client) – Marijn

+2

@Marijn 내가 그렇지 않기 때문에 이것은 사실이 아닙니다. URL 경로에 특수 문자를 포함하십시오. – NightOwl89

답변

1

ASP.NET이 '?' '% 3F'로 인코딩 된 문자는이 오류 메시지를 표시합니다. 동시에 '% 3F'을 '?'로 디코딩합니다. 요청 [ "PATH_INFO"] 또는 Request.PathInfo 변수의 문자.

Request [ "HTTP_URL"] 또는 Request.Url.OrigionalString을 보면 뭔가 다른 것을 볼 수 있습니다.

0

단일 코드 확인 : 나는 그 오류와 동일한 문제가 있습니다. 다음은 올바른 코드 조각입니다.

titleNew = string.Format ("{1}", idx, resource.Title);

관련 문제