AntiXssEncoder.XmlEncode(String) メソッド

定義

XML 属性で使用するために、指定された文字列をエンコードします。

public:
 static System::String ^ XmlEncode(System::String ^ input);
public static string XmlEncode(string input);
static member XmlEncode : string -> string
Public Shared Function XmlEncode (input As String) As String

パラメーター

input
String

エンコードする文字列。

返品

エンコードされた文字列。

注釈

このメソッドは、セーフ リストに含まれる文字を除くすべての文字をエンコードします。 文字は、 &#DECIMAL; 表記を使用してエンコードされます。

Note

ページに追加する前に、結果の文字列の周囲に二重引用符 (" ") または単一引用符 (' ') を付けます。

次の表に、既定の安全な文字の一覧を示します。 [説明] 列に記載されている場合を除き、すべての文字は Unicode C0 コントロールおよび基本ラテン 文字範囲から取得されます。

文字 Description
A-Z 大文字の英字
a - z 小文字の英字
0-9 数値
(スペース) スペース
! 感嘆符
# 数値記号、ハッシュ
$ ドル記号
% パーセント
( ) かっこ
* Asterisk
+ 正符号
, カンマ
- ハイフン、負符号
. ピリオド
/ スラッシュ
: コロン
; Semicolon
= 等号
? 疑問符
@ 商用
[ ] 角かっこ
\ バックスラッシュ
^ キャレット
_ アンダースコア
` 墓のアクセント
{ } 中かっこ、中かっこ
| 縦線
~ チルダ
0x00A1 - 0x00AC Unicode C1 コントロールと Latin-1 補足 文字範囲の0x00A1 (10 進数 161) ~ 0x00AC (10 進数 172) の間の特殊文字。 この範囲内の文字は、 useNamedEntitiestrueされるときにエンコードされます。
0x00AE - 0x00FF Unicode C1 コントロールと Latin-1 補足 文字範囲の0x00AE (10 進数 174) から0x00FF (10 進数 255) までの特殊文字。 この範囲内の文字は、 useNamedEntitiestrueされるときにエンコードされます。
0x0100 - 0x017F 0x0100 (10 進数 256) ~ 0x017F (383 decimal) の間の文字。 (Unicode Latin-Extended-A 文字範囲)。
0x0180 - 0x024F 0x0180 (10 進数 384) ~ 0x024F (10 進数 591) の間の文字。 (Unicode Latin-Extended-B 文字範囲)。
0x0250 - 0x02AF 0x0250 (10 進数 592) から 0x02AF (10 進数 687) までの文字。 (Unicode IPA 拡張機能 の文字範囲)。
0x02B0 - 0x02FF 0x02B0 (10 進数 688) ~ 0x02FF (10 進数 767) の間の文字。 (Unicode 間隔修飾子の文字 範囲)。
0x0300 - 0x036F 0x0300 (10 進数 768) ~ 0x036F (10 進数 879) の間の文字。 (Unicode Combining Diacritical Marks 文字範囲)。

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

入力 アウトプット
alert('XSS Attack!'); alert('XSS Attack!');
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&apos;XSS Attack!&apos;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&apos;XSS&#12354;Attack!&apos;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross&#32;Site&#32;Scripting&#32;Namespace&quot;

セーフ リストをカスタマイズするには、 MarkAsSafe メソッドを呼び出します。

適用対象