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