AntiXssEncoder.XmlAttributeEncode(String) 方法

定义

为 XML 特性编码指定字符串。

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

参数

input
String

要编码的字符串。

返回

String

编码的字符串。

注解

此方法对不安全列表中的所有字符进行编码。 使用表示法对字符进行编码 &#DECIMAL;

备注

在将结果字符串添加到页面之前,请将双引号括 ( "" ) 或单引号 ( "" ) 。

下表列出了默认的安全字符。 除 "说明" 列中所述,所有字符均来自 Unicode C0 控件和基本拉丁 字符范围。

Unicode 代码图表 字符 说明
A-Z 大写字母拉丁字母字符
a-z 小写拉丁字母字符
0-9 数字
! 感叹号
# 数字符号、哈希
$ 美元符号
% 百分号
( ) 括号
* 星号
+ 正号
, 逗号
- 连字符,减
. Period、句点、full stop
/ 斜杠
: 冒号
; 分号
= 等号
? 问号
@ 商业签署
[ ] 方括号
\ 反斜杠
^ 西文插入记号
_ 强调
` 重音符
{ } 大括号、大括号
| 竖线
~ 波形符
0x00A1 - 0x00AC 从 Unicode C1 控件和拉丁语-1 补充 字符范围开始,0x00A1 (161 decimal) 和 0x00AC (172) decimal 之间的特殊字符。
从 Unicode C1 控件和拉丁语-1 补充 字符范围开始,0x00AE (174 decimal) 和 0x00FF (255) decimal 之间的特殊字符。
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 extension 字符范围。 )
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&#32;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 方法。

适用于