AntiXssEncoder.HtmlEncode 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
编码指定字符串作为 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 十进制) 之间的特殊字符。 当 为 true 时useNamedEntities ,将对此范围内的字符进行编码。 |
0x00AE - 0x00FF | 从 Unicode C1 控件和拉丁语 1 补充 字符范围0x00AE (174 位小数) 0x00FF (255 位小数) 之间的特殊字符。 当 为 true 时useNamedEntities ,将对此范围内的字符进行编码。 |
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> |
<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 调用 方法。
适用于
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 十进制) 之间的特殊字符。 当 为 true 时useNamedEntities ,将对此范围内的字符进行编码。 |
0x00AE - 0x00FF | 从 Unicode C1 控件和拉丁语 1 补充 字符范围0x00AE (174 位小数) 0x00FF (255 位小数) 之间的特殊字符。 当 为 true 时useNamedEntities ,将对此范围内的字符进行编码。 |
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> |
<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 调用 方法。