Share via


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

true 表示針對特定字元編碼使用 HTML 4.0 具名實體; false 標記法只 &#DECIMAL; 使用標記法進行編碼。

傳回

編碼的字串。

備註

這個方法會編碼安全清單中所有字元以外的字元。 字元會使用 &#DECIMAL; 標記法來編碼。

注意

將雙引號放在 (「) 或單引號 (' ') 在產生的字串周圍,再將它新增至頁面。

下表列出預設安全字元。 除非在 [描述] 資料行中另有說明,否則所有字元都是來自 Unicode C0 Controls 和 Basic Latin 字元範圍。

字元 描述
A-Z 大寫拉丁字母字元
a-z 小寫拉丁字母字元
0-9 數字
(空間) Space
! 驚嘆號
# 數位記號、雜湊
$ 貨幣號
% 百分比符號
( ) 括號
* 星號
+ 加號
, Comma (逗號)
- 連字號,減號
. 句點、點、完整停止
/ 斜線
: 冒號
; 分號
= 等號
? 問號
@ 商業 at
[ ] 方括弧
\ 反斜線
^ 插入點
_ 底線
` 輔色
{ } 大括弧、大括弧
| 垂直線
~ 波狀符號
0x00A1 - 0x00AC 0x00A1 (161 十進位) 與從 Unicode C1 控制項和拉丁 1 補充 字元範圍 0x00AC () 172 十進位) 之間的特殊字元。 當 為 trueuseNamedEntities ,此範圍中的字元會編碼。
0x00AE - 0x00FF 0x00AE (174 十進位) 與從 Unicode C1 控制項和拉丁 1 補充 字元範圍0x00FF (255 十進位) 之間的特殊字元。 當 為 trueuseNamedEntities ,此範圍中的字元會編碼。
0x0100 - 0x017F 0x0100 (256 十進位) 與0x017F (383 十進位) 之間的字元。 (Unicode Latin-Extended-A 字元範圍.)
0x0180 - 0x024F 0x0180 (384 十進位) 與0x024F (591 十進位) 之間的字元。 (Unicode Latin-Extended-B 字元範圍.)
0x0250 - 0x02AF 0x0250 (592 十進位) 與0x02AF (687 十進位) 之間的字元。 (Unicode IPA Extensions 字元範圍.)
0x02B0 - 0x02FF 0x02B0 (688 十進位) 與0x02FF (767 十進位) 之間的字元。 (Unicode 間距修飾詞字母 字元範圍。)
0x0300 - 0x036F 0x0300 (768 十進位) 與0x036F (879 十進位) 之間的字元。 (Unicode 合併讀音符號 字元範圍。)

下表列出輸入和對應的編碼輸出範例。

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; 標記法來編碼。

注意

將雙引號放在 (「) 或單引號 (' ') 在產生的字串周圍,再將它新增至頁面。

下表列出預設安全字元。 除非在 [描述] 資料行中另有說明,否則所有字元都是來自 Unicode C0 Controls 和 Basic Latin 字元範圍。

字元 描述
A-Z 大寫拉丁字母字元
a-z 小寫拉丁字母字元
0-9 數字
(空間) Space
! 驚嘆號
# 數位記號、雜湊
$ 貨幣號
% 百分比符號
( ) 括號
* 星號
+ 加號
, Comma (逗號)
- 連字號、減號
. Period、dot、full stop
/ 斜線
: 冒號
; 分號
= 等號
? 問號
@ 商業 at
[ ] 方括弧
\ 反斜線
^ 插入點
_ 底線
` 輔色
{ } 大括弧、大括弧
| 垂直線
~ 波狀符號
0x00A1 - 0x00AC 0x00A1 (161 十進位) 和從 Unicode C1 控制項和拉丁文 1 補充 字元範圍0x00AC (172 十進位) 之間的特殊字元。 當 為 trueuseNamedEntities ,會編碼此範圍中的字元。
0x00AE - 0x00FF 0x00AE (174 十進位) 和從 Unicode C1 控制項和拉丁文 1 補充 字元範圍0x00FF (255 十進位) 之間的特殊字元。 當 為 trueuseNamedEntities ,會編碼此範圍中的字元。
0x0100 - 0x017F 0x0100 (256 十進位) 與0x017F (383 十進位) 之間的字元。 (Unicode Latin-Extended-A 字元範圍.)
0x0180 - 0x024F 0x0180 (384 十進位) 與0x024F (591 十進位) 之間的字元。 (Unicode Latin-Extended-B 字元範圍.)
0x0250 - 0x02AF 0x0250 (592 十進位) 與0x02AF (687 十進位) 之間的字元。 (Unicode IPA Extensions 字元範圍.)
0x02B0 - 0x02FF 0x02B0 (688 十進位) 與0x02FF (767 十進位) 之間的字元。 (Unicode 間距修飾詞字母 字元範圍。)
0x0300 - 0x036F 0x0300 (768 十進位) 與0x036F (879 十進位) 之間的字元。 (Unicode 結合變音符號 字元範圍。)

下表列出輸入和對應的編碼輸出範例。

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;

若要自訂安全清單,請呼叫 MarkAsSafe 方法。

適用於