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 方法。

適用於