次の方法で共有


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 数値
# 数値記号、ハッシュ
% パーセント記号
( ) かっこ
- ハイフン、マイナス
. ピリオド、ドット、フル ストップ
/ スラッシュ
\ 円記号
_ アンダースコア
{ } 中かっこ、中かっこ
| 垂直線
~ チルダ

次の表に、入力の例と、対応するエンコードされた出力を示します。

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 のパスのみをエンコードします。 このメソッドは、スキーム (、、、または file:など)、http:ftp:権限 (たとえば、 などwww.contoso.com:8080)、www.northwind.comまたはクエリまたはフラグメント (例: ?v=s978dfs9#x=103) をエンコードしません。 文字列にスキームまたは権限がない場合、文字列は相対パスであると見なされ、パスはエンコードされます。 次の URL では、部分文字列 /default.htm のみがエンコードされます。

http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103

適用対象