AntiXssEncoder.HtmlAttributeEncode(String, TextWriter) 方法

定义

编码并输出在 HTML 属性中使用的指定字符串。

protected public:
 override void HtmlAttributeEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlAttributeEncode(string value, System.IO.TextWriter output);
override this.HtmlAttributeEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlAttributeEncode (value As String, output As TextWriter)

参数

value
String

要编码的字符串。

output
TextWriter

用于输出字符串的文本编写器。

注解

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

注释

将双引号(“ ”) 或单引号 (' ') 放在生成的字符串周围,然后再将其添加到页面。

下表列出了默认安全字符。 所有内容均来自 Unicode C0 控件和基本拉丁 字符范围,除非在“说明”列中指出。

字符(s) Description
A-Z 大写拉丁文字母字符
a-z 小写拉丁文字母字符
0-9 编号
! 感叹号
# 数字符号,哈希
$ 美元符号(人民币符号)
% 百分号
( ) 括号
* 星号
+ 加号
, 逗号
- 连字符,减号
句点、点、全停止
/ 斜杠
: 冒号
; 分号
= 等号
? 问号
@ 商业 at-sign
[ ] 方括号
\ 反斜杠
^ 脱字号
_ 下划线
` 严重强调
{ } 大括号、大括号
| 垂直线
~ 波形符
0x00A1 - 0x00AC Unicode C1 控件和拉丁文 1 补充 字符范围中的0x00A1(161 十进制)和 0x00AC (172 decimal) 之间的特殊字符。
0x00AE - 0x00FF Unicode C1 控件和拉丁语-1 补充 字符范围中的0x00AE(174 小数)和0x00FF(255 小数)之间的特殊字符。
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> &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 Site Scripting Namespace&quot;

若要自定义安全列表,请调用 MarkAsSafe 该方法。

适用于