AntiXssEncoder.UrlPathEncode(String) 方法

定義

將路徑字串編碼以用於 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

適用於