AntiXssEncoder.UrlPathEncode(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
编码用于 URL 的路径字符串。
protected public:
override System::String ^ UrlPathEncode(System::String ^ value);
protected internal override string UrlPathEncode (string value);
override this.UrlPathEncode : string -> string
Protected Friend Overrides Function UrlPathEncode (value As String) As String
参数
- value
- String
要编码的字符串。
返回
包含编码路径的 URL。
注解
此方法对除安全列表中的字符之外的所有字符进行编码。 字符是使用 %SINGLE_BYTE_HEX
表示法编码的。
下表列出了默认安全字符。 所有字符均来自 Unicode C0 控件和基本拉丁语 字符范围。
字符 | 说明 |
---|---|
A-Z | 大写字母字符 |
a-z | 小写字母字符 |
0-9 | 数字 |
# | 数字符号、哈希 |
% | 百分号 |
( ) | 括号 |
- | 连字符,减号 |
. | Period、dot、full stop |
/ | 斜杠 |
\ | 反斜杠 |
_ | 下划线 |
{ } | 大括号、大括号 |
| | 垂直线 |
~ | 波形符 |
下表列出了输入和相应的编码输出的示例。
http://www.contoso.com:8080/<en-us>/[page].htm?v={value1}#x=[amount] |
http://www.contoso.com:8080/%3cen-us%3e/%5bpage%5d.htm?v={value1}#x=[amount] |
alert('XSS Attack!'); |
alert(%27XSS%20Attack%21%27)%3b |
<script>alert('XSS Attack!');</script> |
%3cscript%3ealert(%27XSS%20Attack%21%27)%3b%3c/script%3e |
alert('XSSあAttack!'); |
alert(%27XSS%e3%81%82Attack%21%27)%3b |
user@contoso.com |
user%40contoso.com |
"Anti-Cross Site Scripting Namespace" |
%22Anti-Cross%20Site%20Scripting%20Namespace%22 |
此方法仅对 URL 的路径进行编码。 此方法不会对方案 ((例如、http:
ftp:
、 或 file:
) 、颁发机构 (、www.northwind.com
) www.contoso.com:8080
)或查询或片段 ((例如 ?v=s978dfs9#x=103
) )进行编码。 如果字符串中没有方案或颁发机构,则假定该字符串为相对路径,并对该路径进行编码。 在以下 URL 中,仅对子字符串 /default.htm
进行编码:
http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103