AntiXssEncoder.HtmlEncode 方法

定义

编码指定字符串作为 HTML 标记文本使用。

重载

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; 表示法编码的。

注意

将双引号 (“、”) 或单引号 (“) 结果字符串添加到页面之前,

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

字符 说明
A-Z 大写拉丁字母字符
a-z 小写拉丁字母字符
0-9 数字
(Space) Space
! 感叹号
# 数字符号、哈希
$ 美元符号
% 百分号
( ) 括号
* 星号
+ 正号
, 逗号
- 连字符,减号
. Period、dot、full stop
/ 斜杠
: 冒号
; 分号
= 等号
? 问号
@ 商业版
[ ] 方括号
\ 反斜杠
^ 西文插入记号
_ 下划线
` 重音重音
{ } 大括号、大括号
| 垂直线
~ 波形符
0x00A1 - 0x00AC Unicode C1 控件和拉丁语 1 补充字符范围中的 0x00A1 (161) 和 0x00AC (172 十进制) 之间的特殊字符。 当 为 trueuseNamedEntities,将对此范围内的字符进行编码。
0x00AE - 0x00FF 从 Unicode C1 控件和拉丁语 1 补充 字符范围0x00AE (174 位小数) 0x00FF (255 位小数) 之间的特殊字符。 当 为 trueuseNamedEntities,将对此范围内的字符进行编码。
0x0100 - 0x017F 介于 0x0100 (256 十进制) 到 0x017F (383 十进制) 之间的字符。 (Unicode Latin-Extended-A 字符范围.)
0x0180 - 0x024F 字符介于 0x0180 (384 十进制) 和 0x024F (591 十进制) 之间。 (Unicode Latin-Extended-B 字符 range.)
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&#32;Site&#32;Scripting&#32;Namespace&quot;

若要自定义安全列表,请 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; 表示法编码的。

注意

将双引号 (“、”) 或单引号 (“) 结果字符串添加到页面之前,

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

字符 说明
A-Z 大写拉丁字母字符
a-z 小写拉丁字母字符
0-9 数字
(Space) Space
! 感叹号
# 数字符号、哈希
$ 美元符号
% 百分号
( ) 括号
* 星号
+ 正号
, 逗号
- 连字符,减号
. Period、dot、full stop
/ 斜杠
: 冒号
; 分号
= 等号
? 问号
@ 商业版
[ ] 方括号
\ 反斜杠
^ 西文插入记号
_ 下划线
` 重音重音
{ } 大括号、大括号
| 垂直线
~ 波形符
0x00A1 - 0x00AC Unicode C1 控件和拉丁语 1 补充字符范围中的 0x00A1 (161) 和 0x00AC (172 十进制) 之间的特殊字符。 当 为 trueuseNamedEntities,将对此范围内的字符进行编码。
0x00AE - 0x00FF 从 Unicode C1 控件和拉丁语 1 补充 字符范围0x00AE (174 位小数) 0x00FF (255 位小数) 之间的特殊字符。 当 为 trueuseNamedEntities,将对此范围内的字符进行编码。
0x0100 - 0x017F 介于 0x0100 (256 十进制) 到 0x017F (383 十进制) 之间的字符。 (Unicode Latin-Extended-A 字符范围.)
0x0180 - 0x024F 字符介于 0x0180 (384 十进制) 和 0x024F (591 十进制) 之间。 (Unicode Latin-Extended-B 字符 range.)
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(&#39;XSS&#32;Attack!&#39;);
<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&#32;Site&#32;Scripting&#32;Namespace&quot;

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

适用于