AntiXssEncoder.XmlEncode(String) 方法

定義

將指定的字串編碼以用於 XML 屬性中。

public:
 static System::String ^ XmlEncode(System::String ^ input);
public static string XmlEncode (string input);
static member XmlEncode : string -> string
Public Shared Function XmlEncode (input As String) As String

參數

input
String

要編碼的字串。

傳回

String

編碼的字串。

備註

這個方法會將安全清單中的所有字元編碼,但除外。 字元是使用 &#DECIMAL; 標記法進行編碼。

注意

將雙引號放在產生的字串前面 ( "" ) 或單引號 ( ' ' ) ,然後再將它加入至頁面。

下表列出預設的安全字元。 所有字元都來自 Unicode C0 控制項和基本拉丁 字元範圍,但在 [描述] 欄中有注明。

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

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

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

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

適用於