ASP는 QUERY_STRING 잘못 디코딩합니다 및 메타베이스 경로 정보 표시 있다

기술 자료 번역 기술 자료 번역
기술 자료: 261116 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

현상

URL, 끝에서 값을 검색하려면 Response.QueryString 컬렉션을 사용하지만 예상 값이 나타납니다. 반환된 값이 대신 인터넷 정보 서비스 (IIS) 메타베이스 정보를 수 있습니다.

원인

ASP (Active Server Pages) 내장 요청 개체를 클라이언트에서 HTTP 요청 서버로 보낸 정보가 들어 있습니다. QueryString 컬렉션 URL의 끝에 나타나는 모든 이름/값 쌍이 포함되어 있습니다. 예를 들어,:
http://server/virtualDirectory/page.asp?name=value
				
이 정보는 URL로 인코딩된 됩니다.


예를 들어
http://server/virtualDirectory/page.asp?name=my_value
				
로 표시되는:
http://server/virtualDirectory/page.asp?name=my%5Fvalue
				
값을 백분율 기호 및 반환 값이 컬렉션의 유효한 문자 (밑줄 [_] 로 "%5F" 맵) 매핑되지 않는 16진수 값이 들어 있으면 있지만 웹 사이트의 메타베이스 경로 형태로 경로로 사용됩니다. 변수를 HTML Response.Write 통해 직접 인쇄할 때 문제가 될 수 있습니다.

예를 들어
Response.Write Request.QueryString("name")
				
인쇄합니다 것입니다.
LM/W3SVC/1/Root/VirtualDirectoryName
					

해결 방법

이 문제를 해결하려면 Windows 2000용 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
260910최신 Windows 2000 서비스 팩을 구하는 방법
이 문제를 해결하려면 Server.URLEncode 함수를 위해 QueryString 추가하기 전에 QueryString 값을 인코딩할 수 있습니다.

예를 들어,:
Response.Redirect "http://server/virtualDirectory/page.asp?name=" & Server.URLEncode("My Name ThatContains A % Sign")
				

Response.Write Request.Querystring("name")
				
Page.asp에 대한 결과는 "내 이름 오디세우스의 포함 서명 A %" 예상대로 됩니다.

현재 상태

Microsoft는 Microsoft Windows 2000에서 문제가 있음을 확인했습니다.

이 문제는 Windows 2000 서비스 팩 1에서 처음 수정되었습니다.

속성

기술 자료: 261116 - 마지막 검토: 2014년 2월 10일 월요일 - 수정: 3.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
키워드:?
kbnosurvey kbarchive kbmt kbbug kbfix kbwin2000sp1fix KB261116 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com