AntiXssEncoder.HtmlEncode 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的字串編碼為 HTML 標記中的文字。
多載
| 名稱 | Description |
|---|---|
| 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; 符號編碼。
Note
在新增字串前,先在結果字串周圍加上雙引號(“ ”)或單引號(' ')。
下表列出預設的安全字元。 除非在描述欄註明,否則所有字元均來自 Unicode C0 控制項及基本拉丁 字元範圍。
| 角色 | Description |
|---|---|
| A-Z | 大寫拉丁字母 |
| a-z | 小寫拉丁字母 |
| 0-9 | 數字 |
| (太空) | 空間 |
| ! | 驚嘆號 |
| # | 數字符號、雜湊值 |
| $ | 美元符號 |
| % | 百分比符號 |
| ( ) | 括號 |
| * | Asterisk |
| + | 加號 |
| , | 逗號 |
| - | 連字號,負號 |
| . | 句點,點,句號 |
| / | 斜線 |
| : | 冒號 |
| ; | 分號 |
| = | 等號 |
| ? | 問號 |
| @ | 商業廣告 |
| [ ] | 方括號 |
| \ | 反斜線 |
| ^ | 插入號 |
| _ | 底線 |
| ` | 莊重口音 |
| { } | 牙套、捲括號 |
| | | 垂直線 |
| ~ | 波浪號 |
| 0x00A1 - 0x00AC | Unicode C1 控制與 Latin-1 補充 字元範圍中介於 0x00A1(161 位小數)至 0x00AC(172 位)之間的特殊字元。 當 useNamedEntities 為 時 true,該範圍內的字元被編碼。 |
| 0x00AE - 0x00FF | Unicode C1 控制與拉丁語 1 補充 字元範圍中介於 0x00AE(174 位小數)至 0x00FF(255 位)之間的特殊字元。 當 useNamedEntities 為 時 true,該範圍內的字元被編碼。 |
| 0x0100 - 0x017F | 字元介於0x0100(小數256)至0x017F(383)。 (Unicode 拉丁語擴展 A 字元範圍。) |
| 0x0180 - 0x024F | 字元介於0x0180(小數384)至0x024F(591)之間。 (Unicode 拉丁語擴展 B 字元範圍。) |
| 0x0250 - 0x02AF | 字元介於0x0250(小數點數592)至0x02AF(687位)。 (Unicode IPA 擴充 字元範圍。) |
| 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> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
要自訂保險箱清單,請呼叫該 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; 符號編碼。
Note
在新增字串前,先在結果字串周圍加上雙引號(“ ”)或單引號(' ')。
下表列出預設的安全字元。 除非在描述欄註明,否則所有字元均來自 Unicode C0 控制項及基本拉丁 字元範圍。
| 角色 | Description |
|---|---|
| A-Z | 大寫拉丁字母 |
| a-z | 小寫拉丁字母 |
| 0-9 | 數字 |
| (太空) | 空間 |
| ! | 驚嘆號 |
| # | 數字符號、雜湊值 |
| $ | 美元符號 |
| % | 百分比符號 |
| ( ) | 括號 |
| * | Asterisk |
| + | 加號 |
| , | 逗號 |
| - | 連字號,負號 |
| . | 句點,點,句號 |
| / | 斜線 |
| : | 冒號 |
| ; | 分號 |
| = | 等號 |
| ? | 問號 |
| @ | 商業廣告 |
| [ ] | 方括號 |
| \ | 反斜線 |
| ^ | 插入號 |
| _ | 底線 |
| ` | 莊重口音 |
| { } | 牙套、捲括號 |
| | | 垂直線 |
| ~ | 波浪號 |
| 0x00A1 - 0x00AC | Unicode C1 控制與 Latin-1 補充 字元範圍中介於 0x00A1(161 位小數)至 0x00AC(172 位)之間的特殊字元。 當 useNamedEntities 為 時 true,該範圍內的字元被編碼。 |
| 0x00AE - 0x00FF | Unicode C1 控制與拉丁語 1 補充 字元範圍中介於 0x00AE(174 位小數)至 0x00FF(255 位)之間的特殊字元。 當 useNamedEntities 為 時 true,該範圍內的字元被編碼。 |
| 0x0100 - 0x017F | 字元介於0x0100(小數256)至0x017F(383)。 (Unicode 拉丁語擴展 A 字元範圍。) |
| 0x0180 - 0x024F | 字元介於0x0180(小數384)至0x024F(591)之間。 (Unicode 拉丁語擴展 B 字元範圍。) |
| 0x0250 - 0x02AF | 字元介於0x0250(小數點數592)至0x02AF(687位)。 (Unicode IPA 擴充 字元範圍。) |
| 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> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
要自訂保險箱清單,請呼叫該 MarkAsSafe 方法。