AntiXssEncoder.HtmlEncode メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
HTML マークアップでテキストとして使用するために、指定された文字列をエンコードします。
オーバーロード
| 名前 | 説明 |
|---|---|
| HtmlEncode(String, Boolean) |
指定した文字列を HTML マークアップのテキストとしてエンコードし、必要に応じて HTML 4.0 の名前付きエンティティを使用するかどうかを指定します。 |
| HtmlEncode(String, TextWriter) |
指定した文字列を HTML マークアップのテキストとしてエンコードし、指定したテキスト ライターを使用して文字列を出力します。 |
HtmlEncode(String, Boolean)
指定した文字列を HTML マークアップのテキストとしてエンコードし、必要に応じて HTML 4.0 の名前付きエンティティを使用するかどうかを指定します。
public:
static System::String ^ HtmlEncode(System::String ^ input, bool useNamedEntities);
public static string HtmlEncode(string input, bool useNamedEntities);
static member HtmlEncode : string * bool -> string
Public Shared Function HtmlEncode (input As String, useNamedEntities As Boolean) As String
パラメーター
- input
- String
エンコードする文字列。
- useNamedEntities
- Boolean
true特定の文字エンコーディングに HTML 4.0 の名前付きエンティティを使用する場合。false表記のみを使用してエンコードする&#DECIMAL;。
返品
エンコードされた文字列。
注釈
このメソッドは、セーフ リストに含まれる文字を除くすべての文字をエンコードします。 文字は、 &#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) の間の特殊文字。 この範囲内の文字は、 useNamedEntities が trueされるときにエンコードされます。 |
| 0x00AE - 0x00FF | Unicode C1 コントロールと Latin-1 補足 文字範囲の0x00AE (10 進数 174) から0x00FF (10 進数 255) までの特殊文字。 この範囲内の文字は、 useNamedEntities が trueされるときにエンコードされます。 |
| 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> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
セーフ リストをカスタマイズするには、 MarkAsSafe メソッドを呼び出します。
適用対象
HtmlEncode(String, TextWriter)
指定した文字列を HTML マークアップのテキストとしてエンコードし、指定したテキスト ライターを使用して文字列を出力します。
protected public:
override void HtmlEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlEncode(string value, System.IO.TextWriter output);
override this.HtmlEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlEncode (value As String, output As TextWriter)
パラメーター
- value
- String
エンコードする文字列。
- output
- TextWriter
文字列の出力に使用するテキスト ライター。
注釈
このメソッドは、セーフ リストに含まれる文字を除くすべての文字をエンコードします。 文字は、 &#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) の間の特殊文字。 この範囲内の文字は、 useNamedEntities が trueされるときにエンコードされます。 |
| 0x00AE - 0x00FF | Unicode C1 コントロールと Latin-1 補足 文字範囲の0x00AE (10 進数 174) から0x00FF (10 進数 255) までの特殊文字。 この範囲内の文字は、 useNamedEntities が trueされるときにエンコードされます。 |
| 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> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
セーフ リストをカスタマイズするには、 MarkAsSafe メソッドを呼び出します。