2013-09-26 2 views
1

작업중인 페이지에서 다소 이상한 문제가 발생했습니다.
이는 내가 일하고 주소 :새 줄과 공백을 asp.net의 쿼리 문자열에 추가했습니다.

%0d%0a++++++++&ACTION=FLIGHTHOTEL 
: 나는 Request.QueryString.ToString()에 접근하고있는 Redirect.aspx에 대한 후 Page_Init 지금

http://localhost:49726/Redirect.aspx?ACTION=FLIGHTHOTEL

, 그와 같은 값을 얻고있다

여분의 공백 (+)과 개행/탭 (% 0d % 0a)은 어디에서 오는가? Request.Url가하는 동안
,이 여분의 공백을 포함하지 않는 Request.RawUrl을 확인하려면 :

http://localhost:49726/Webpages/Redirect.aspx?\r\n_______&ACTION=FLIGHTHOTEL

(I 가시성을 목적으로 _로 공간을 대체) 쉬운 방법이 있나요 그들을 거기 있지 말라고? 나는 어떻게 그리고 만약 이것이 정적 또는 무작위인지 확실하지 않은 부분 문자열에 치열하지 않다 ...

고마워.

--- 편집 ---

하하, 재미있는 것. 내 Web.config를 들여다 보았고과 같이, URL을 잡아 모든 페이지가로드도 전에 다른 리디렉션 라인을 발견 :

이제이 특정 라인과 같이 몇 가지 여분의 새로운 라인과 공간을했다
<RewriterRule> 
    <LookFor>~/redirect.aspx?([^\/]*)</LookFor> 
    <SendTo>~/Webpages/Redirect.aspx?$1</SendTo> 
    </RewriterRule> 

:

<RewriterRule> 
    <LookFor>~/redirect.aspx?([^\/]*)</LookFor> 
    <SendTo> 
     ~/Webpages/Redirect.aspx?$1 
          </SendTo> 
    </RewriterRule> 

문제 :

답변

0

그것은 나를 위해 잘 작동을 야기했다.
서버에 문제가있을 수 있습니다.

Label1.Text = Request.QueryString.ToString(); 

난 그냥이
을 사용하지만, 내가 설정 한 경우 유와 같은 공간 내가 %5cr%5cn++++++&ACTION=FLIGHTHOTEL을 얻고 말했다

+0

흠 문제는 그 같은 행동을 서버에 어떤 설정을 일으킬 수 ... 것? 처음 엔 그런 식으로 건너 뛰었습니다. 전에 Request.QueryString을 여러 번 사용했습니다 ... –

관련 문제