다음을 통해 공유


AntiXssEncoder.UrlPathEncode(String) 메서드

정의

URL에서 사용하기 위해 경로 문자열을 인코딩합니다.

protected public:
 override System::String ^ UrlPathEncode(System::String ^ value);
protected internal override string UrlPathEncode (string value);
override this.UrlPathEncode : string -> string
Protected Friend Overrides Function UrlPathEncode (value As String) As String

매개 변수

value
String

인코딩할 문자열입니다.

반환

String

인코딩된 경로가 들어 있는 URL입니다.

설명

이 메서드는 safe 목록에 있는 문자를 제외한 모든 문자를 인코딩합니다. 문자는 표기법을 사용 하 여 인코딩됩니다 %SINGLE_BYTE_HEX .

다음 표에서는 기본 안전 문자를 나열 합니다. 모든 문자는 유니코드 C0 컨트롤과 기본 라틴어 문자 범위에서 가져온 것입니다.

문자 Description
A-Z 대문자 영문자
a-z 소문자 알파벳 문자
0-9 숫자
# 숫자 기호, 해시
% 퍼센트 기호
( ) 괄호
- 하이픈, 빼기
. 마침표, 점, 전체 중지
/ 슬래시
\ 백슬래시
_ 밑줄
{ } 중괄호, 중괄호
| 세로줄
~ 물결표

다음 표에서는 입력의 예와 해당 하는 인코딩된 출력을 보여 줍니다.

http://www.contoso.com:8080/<en-us>/[page].htm?v={value1}#x=[amount] http://www.contoso.com:8080/%3cen-us%3e/%5bpage%5d.htm?v={value1}#x=[amount]
alert('XSS Attack!'); alert(%27XSS%20Attack%21%27)%3b
<script>alert('XSS Attack!');</script> %3cscript%3ealert(%27XSS%20Attack%21%27)%3b%3c/script%3e
alert('XSSあAttack!'); alert(%27XSS%e3%81%82Attack%21%27)%3b
user@contoso.com user%40contoso.com
"Anti-Cross Site Scripting Namespace" %22Anti-Cross%20Site%20Scripting%20Namespace%22

이 메서드는 URL 경로만 인코딩합니다. 이 메서드는 체계 (예: http: , ftp: 또는 file: ), 기관 (예: www.northwind.com 또는 www.contoso.com:8080 ) 또는 쿼리 또는 조각 (예: ?v=s978dfs9#x=103 )을 인코딩하지 않습니다. 문자열에 스키마 또는 권한이 없으면 문자열은 상대 경로로 간주 되 고 경로는 인코딩됩니다. 다음 URL에서는 부분 문자열만 /default.htm 인코딩됩니다.

http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103

적용 대상