다음을 통해 공유


AntiXssEncoder.HtmlEncode 메서드

정의

HTML 태그에서 텍스트로 사용할 지정된 문자열을 인코딩합니다.

오버로드

HtmlEncode(String, Boolean)

HTML 태그에서 텍스트로 사용할 지정된 문자열을 인코딩하고 HTML 4.0 명명된 엔터티를 사용할지 여부를 선택적으로 지정합니다.

HtmlEncode(String, TextWriter)

HTML 태그에서 텍스트로 사용할 지정된 문자열을 인코딩하고 지정된 텍스트 기록기를 사용하여 문자열을 출력합니다.

HtmlEncode(String, Boolean)

HTML 태그에서 텍스트로 사용할 지정된 문자열을 인코딩하고 HTML 4.0 명명된 엔터티를 사용할지 여부를 선택적으로 지정합니다.

public:
 static System::String ^ HtmlEncode(System::String ^ input, bool useNamedEntities);
public static string HtmlEncode (string input, bool useNamedEntities);
static member HtmlEncode : string * bool -> string
Public Shared Function HtmlEncode (input As String, useNamedEntities As Boolean) As String

매개 변수

input
String

인코딩할 문자열입니다.

useNamedEntities
Boolean

특정 문자 인코딩에 HTML 4.0 명명된 엔터티를 사용하려면 true이고, &#DECIMAL; 표기법만 인코딩하려면 false입니다.

반환

String

인코딩된 문자열입니다.

설명

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

참고

페이지에 추가 하기 전에 큰따옴표 ("") 또는 작은따옴표 (' ')를 결과 문자열 주위에 배치 하십시오.

다음 표에서는 기본 안전 문자를 나열 합니다. 모든 문자는 설명 열에 명시 된 경우를 제외 하 고 유니코드 C0 컨트롤 및 기본 라틴어 문자 범위에서 가져온 것입니다.

문자 Description
A-Z 대문자 라틴어 알파벳 문자
a-z 소문자 라틴어 알파벳 문자
0-9 숫자
(공간) Space
! 느낌표
# 숫자 기호, 해시
$ 달러 기호
% 퍼센트 기호
( ) 괄호
* 별표
+ 더하기 기호
, 쉼표
- 하이픈, 빼기
. 마침표, 점, 전체 중지
/ 슬래시
: 콜론
; 세미콜론
= 등호
? 물음표
@ 상업용
[ ] 대괄호
\ 백슬래시
^ 캐럿
_ 밑줄
` 돋보이는 악센트
{ } 중괄호, 중괄호
| 세로선
~ 물결표
0x00A1 - 0x00AC 유니코드 C1 컨트롤과 라틴어-1 보충 문자 범위에서 0x00A1(1610진수)와 0x00AC(172 10진수) 사이의 특수 문자입니다. 이 범위의 문자는 가 일 때 useNamedEntities 인코딩됩니다. true
0x00AE - 0x00FF 유니코드 C1 컨트롤과 라틴어-1 보충 문자 범위에서 0x00AE(174 10진수)와 0x00FF(255 10진수) 사이의 특수 문자입니다. 이 범위의 문자는 가 일 때 useNamedEntities 인코딩됩니다. true
0x0100 - 0x017F 0x0100(256 10진수)와 0x017F(383 10진수) 사이의 문자입니다. (유니코드 라틴어-확장-A 문자 범위)
0x0180 - 0x024F 0x0180(384 10진수)와 0x024F(591 10진수) 사이의 문자입니다. (유니코드 Latin-Extended-B 문자 범위입니다.)
0x0250 - 0x02AF 0x0250(592 10진수)와 0x02AF(687 10진수) 사이의 문자입니다. (유니코드 IPA 확장 문자 범위)
0x02B0 - 0x02FF 0x02B0(688 10진수)와 0x02FF(767 10진수) 사이의 문자입니다. (유니코드 간격 한정자 문자 문자 범위입니다.)
0x0300 - 0x036F 0x0300(768 10진수)와 0x036F(879 10진수) 사이의 문자입니다. (분음 부호를 결합하는 유니코드 문자 범위입니다.)

다음 표에서는 입력 예제와 해당 인코딩된 출력을 나열합니다.

alert('XSS Attack!'); alert('XSS Attack!');
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross&#32;Site&#32;Scripting&#32;Namespace&quot;

안전 목록을 사용자 지정하려면 MarkAsSafe 메서드를 호출합니다.

적용 대상

HtmlEncode(String, TextWriter)

HTML 태그에서 텍스트로 사용할 지정된 문자열을 인코딩하고 지정된 텍스트 기록기를 사용하여 문자열을 출력합니다.

protected public:
 override void HtmlEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlEncode (string value, System.IO.TextWriter output);
override this.HtmlEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlEncode (value As String, output As TextWriter)

매개 변수

value
String

인코딩할 문자열입니다.

output
TextWriter

문자열을 출력하는 데 사용할 텍스트 작성기입니다.

설명

이 메서드는 안전 목록에 있는 문자를 제외한 모든 문자를 인코딩합니다. 문자는 &#DECIMAL; 표기 표시를 사용하여 인코딩됩니다.

참고

페이지에 추가하기 전에 결과 문자열 주위에 큰따옴표(" ") 또는 작은따옴표(' ')를 배치합니다.

다음 표에서는 기본 안전 문자를 나열합니다. 설명 열에 설명되지 않은 한 모든 문자는 유니코드 C0 컨트롤 및 기본 라틴 문자 범위에서 온 것입니다.

문자 Description
A-Z 대문자 라틴어 알파벳 문자
a-z 소문자 라틴어 알파벳 문자
0-9 숫자
(공간) Space
! 느낌표
# 숫자 기호, 해시
$ 달러 기호
% 퍼센트 기호
( ) 괄호
* 별표
+ 더하기 기호
, 쉼표
- 하이픈, 빼기
. 마침표, 점, 전체 중지
/ 슬래시
: 콜론
; 세미콜론
= 등호
? 물음표
@ 상업용
[ ] 대괄호
\ 백슬래시
^ 캐럿
_ 밑줄
` 돋보이는 악센트
{ } 중괄호, 중괄호
| 세로줄
~ 물결표
0x00A1-0X00a1 유니코드 C1 컨트롤 및 라틴어-1 추가 문자 범위에서 0x00a1 (161 10 진수) 및 0x00a1 (172 10 진수) 사이의 특수 문자입니다. 가 인 경우이 범위의 문자는 useNamedEntities 인코딩됩니다 true .
0x00AE-0X00ae 유니코드 C1 컨트롤과 라틴어-1 추가 문자 범위에서 0x00ae (174 10 진수) 및 0x00ae (255 10 진수) 사이의 특수 문자입니다. 가 인 경우이 범위의 문자는 useNamedEntities 인코딩됩니다 true .
0x0100 - 0x017F 0x0100 (256 decimal)와 0x017F (383 decimal) 사이의 문자 (유니코드 라틴어-확장-A 문자 범위)
0x0180 - 0x024F 0x0180 (384 decimal)와 0x024F (591 decimal) 사이의 문자 (유니코드 라틴어-확장-B 문자 범위)
0x0250-0X0250 0x0250 (592 10 진수)과 0X0250 (687 decimal) 사이의 문자 유니코드 IPA 확장 문자 범위입니다.
0x02B0-0x02FF 0x02B0 (688 10 진수)과 0x02FF (767 decimal) 사이의 문자 유니코드 간격 한정자 문자 범위입니다.
0x0300-0x036F 0x0300 (768 decimal)과 0x036F (879 decimal) 사이의 문자 유니코드 결합 분음 부호 문자 범위입니다.

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

alert('XSS Attack!'); alert(&#39;XSS&#32;Attack!&#39;);
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross&#32;Site&#32;Scripting&#32;Namespace&quot;

Safe 목록을 사용자 지정 하려면 메서드를 호출 MarkAsSafe 합니다.

적용 대상