AntiXssEncoder.HtmlEncode メソッド

定義

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) の間の特殊文字。 この範囲内の文字は、 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(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross Site Scripting Namespace&quot;

セーフ リストをカスタマイズするには、 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) の間の特殊文字。 この範囲内の文字は、 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(&#39;XSS Attack!&#39;);
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross Site Scripting Namespace&quot;

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

適用対象