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 コントロールと基本ラテン 文字範囲から取得されます。
| 文字 | 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 など) はエンコードされません。 文字列にスキームまたは権限がない場合、文字列は相対パスと見なされ、パスはエンコードされます。 次の URL では、部分文字列 /default.htm のみがエンコードされます。
http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103