2014-06-12 1 views
0

최근에 내 사이트에 열려있는 그래프 태그를 추가했는데 이제 이러한 이미지에 대한 요청과 관련된 .NET 예외가 발생합니다.URL 매개 변수 (& cfs = 1) .NET 예외 발생

http://www.cheatsheetwarroom.com/images/socialsharing/rankings/running-back-rankings.jpg&cfs=1

.NET가 친절하지 않습니다 특히, 일부 사회 사이트 (가능성이 페이스 북 based on this post) 이미지를 요청하지만, 이미지 URL의 끝에 "& CFS의 = 1"을 추가처럼 보이는 "?" 문자를 포함하고 다음 예외를 제공합니다.

잠재적으로 위험한 Request.Path 값이 클라이언트 (&)에서 발견되었습니다.

다른 사람이 내 콘텐츠를 공유 할 때 문제가 발생한다고 생각합니다. 보안을 유지하면서 예외를 피할 수있는 방법이 있습니까?

+2

와트? .NET은 일반 쿼리 문자열과 완벽하게 일치합니다. 약간의 겉만 번지르르 한 POST/양식 데이터가 없다고 확신합니까? –

+0

죄송합니다. 샘플 URL을 수정했습니다. 이미지 확장 후의 문자는 물음표가 아닌 앰퍼샌드입니다. 나는 그것이 문제라고 생각한다. – bperniciaro

+0

예외를 잡아 내고 URL을 지우고 계속할 수 있습니다 ...? –

답변

0

나는, 너무, 내가 그것에 대해 아무것도 할 수 있도록 오류가 파이프 라인까지 너무 멀리 던져 것을 의심하지만 나는 그것이 어쨌든 갈 준이 UrlRewrite 규칙 내놓았다 :

<rule name="Remove ampersand in JPG file extention" stopProcessing="true"> 
    <match url="([\w/]+.jpg)(&amp;[a-z=0-9]+)" /> 
    <conditions logicalGrouping="MatchAny" trackAllCaptures="false" /> 
    <action type="Rewrite" url="{R:1}" appendQueryString="false" logRewrittenUrl="true" /> 
</rule> 

. .. 영구적 인 리디렉션을 선호하지만 UrlRewrite는 301에 대해 {R : 1}을 사용하지 않으므로 다시 작성하는 것이이 형식의 규칙으로 할 수있는 최선입니다.

+0

이 접근법을 시도하고 더 이상 "잠재적으로 위험한 요청"을 얻지는 않지만 404 오류 페이지가 표시됩니다. – bperniciaro