C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: HTMLEncodeに関して


(過去ログ 57 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■32323 / inTopicNo.1)  HTMLEncodeに関して
  
□投稿者/ Tour (1回)-(2009/02/04(Wed) 23:05:27)

分類:[ASP.NET (C#)] 

ASP.net+C#で教えてください、クロスサイトスクリプティング防止のためにHTMLEncodeを使っているのですがわからない事があります
画面のテキストボックスに以下の文字を入れて、ボタンが押されたイベント内でHTMLEncodeをしました
><"&
その結果画面に表示されたときのhtmlのソースを見たところ以下のようになっています
>&lt;&quot;&amp;

>だけがエンコードされないのですが、なぜなんでしょうか?
ご存知の方がいらっしゃればお教え願います
引用返信 編集キー/
■32325 / inTopicNo.2)  Re[1]: HTMLEncodeに関して
□投稿者/ 囚人 (315回)-(2009/02/05(Thu) 00:52:40)
Encode した結果はどうなってんでしょ?
というより、「入力時」でなく「表示時」に Encode した方がいいんじゃないかな?
引用返信 編集キー/
■32327 / inTopicNo.3)  Re[1]: HTMLEncodeに関して
□投稿者/ aetos (95回)-(2009/02/05(Thu) 02:44:50)
aetos さんの Web サイト
No32323 (Tour さん) に返信
> ASP.net+C#で教えてください、クロスサイトスクリプティング防止のためにHTMLEncodeを使っているのですがわからない事があります
> 画面のテキストボックスに以下の文字を入れて、ボタンが押されたイベント内でHTMLEncodeをしました
> ><"&
> その結果画面に表示されたときのhtmlのソースを見たところ以下のようになっています
> >&lt;&quot;&amp;
>
> >だけがエンコードされないのですが、なぜなんでしょうか?
> ご存知の方がいらっしゃればお教え願います

> は、対応する < がなければタグの一部ではないと判断できるので、必ずしも実体参照で書く必要がないんです。
ただし、HTML は、ブラウザが誤解しないように、> も実体参照で書くことを推奨しています。
引用返信 編集キー/
■32334 / inTopicNo.4)  Re[1]: HTMLEncodeに関して
□投稿者/ biac (40回)-(2009/02/05(Thu) 10:30:15)
biac さんの Web サイト
No32323 (Tour さん) に返信
> HTMLEncodeをしました
> ><"&
> その結果画面に表示されたときのhtmlのソースを見たところ以下のようになっています
> >&lt;&quot;&amp;

ん? ほんとに HtmlEncode() したの?

.NET Framework 3.5 で試したら、
Console.WriteLine( System.Web.HttpUtility.HtmlEncode("><\"&"));
の出力は
&gt;&lt;&quot;&amp;
となりましたよ。
.NET Framework 1.0 から挙動は変わってないと思ったけどなぁ。

で。
TextBox1.Text = "><\"&";
などとやったとき。 出力される html が
<input type="text" value=">&lt;&quot;&amp;" …
のように勝手に (しかも中途半端に) 実体参照に置き換えられてしまうのは、 TextBox コントロールの仕様のはずです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -