AntiXssEncoder.UrlPathEncode(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
編碼用於網址的路徑字串。
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
要編碼的字串。
傳回
包含編碼路徑的網址。
備註
此方法編碼除安全清單中字元外的所有字元。 字元以 %SINGLE_BYTE_HEX 符號編碼。
下表列出預設的安全字元。 所有字元均來自 Unicode C0 控制項及基本拉丁 字元範圍。
| 角色 | Description |
|---|---|
| A-Z | 大寫字母 |
| a-z | 小寫字母 |
| 0-9 | 數字 |
| # | 數字符號、雜湊值 |
| % | 百分比符號 |
| ( ) | 括號 |
| - | 連字號,負號 |
| . | 句點,點,句號 |
| / | 斜線 |
| \ | 反斜線 |
| _ | 底線 |
| { } | 牙套、捲括號 |
| | | 垂直線 |
| ~ | 波浪號 |
下表列出輸入及相應編碼輸出的範例。
| 輸入 | 產出 |
|---|---|
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@contoso.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 若字串中沒有 scheme 或 authority,則假設該字串為相對路徑,並對路徑進行編碼。 以下網址中,僅編碼子字串 /default.htm :
http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103