AntiXssEncoder.XmlEncode(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对指定字符串进行编码,以便在 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
要编码的字符串。
返回
编码的字符串。
注解
此方法对除安全列表中的字符以外的所有字符进行编码。 字符使用 &#DECIMAL; 表示法进行编码。
注释
将双引号(“ ”) 或单引号 (' ') 放在生成的字符串周围,然后再将其添加到页面。
下表列出了默认安全字符。 所有字符均来自 Unicode C0 控件和基本拉丁 字符范围,但说明列中指出时除外。
| 字符(s) | Description |
|---|---|
| A-Z | 大写拉丁文字母字符 |
| a-z | 小写拉丁文字母字符 |
| 0-9 | 编号 |
| (空间) | 空格键 |
| ! | 感叹号 |
| # | 数字符号,哈希 |
| $ | 美元符号(人民币符号) |
| % | 百分号 |
| ( ) | 括号 |
| * | 星号 |
| + | 加号 |
| , | 逗号 |
| - | 连字符,减号 |
| 。 | 期限 |
| / | 斜杠 |
| : | 冒号 |
| ; | 分号 |
| = | 等号 |
| ? | 问号 |
| @ | 商业版 |
| [ ] | 方括号 |
| \ | 反斜杠 |
| ^ | 脱字号 |
| _ | 下划线 |
| ` | 严重强调 |
| { } | 大括号、大括号 |
| | | 垂直线 |
| ~ | 波形符 |
| 0x00A1 - 0x00AC | Unicode C1 控件和拉丁文 1 补充 字符范围中的0x00A1(161 十进制)和 0x00AC (172 decimal) 之间的特殊字符。 此范围中的字符在何时useNamedEntities进行true编码。 |
| 0x00AE - 0x00FF | Unicode C1 控件和拉丁语-1 补充 字符范围中的0x00AE(174 小数)和0x00FF(255 小数)之间的特殊字符。 此范围中的字符在何时useNamedEntities进行true编码。 |
| 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 扩展 字符范围。) |
| 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 该方法。