- PR -

TEXTBOXにHTMLタグを入力すると異常終了してしまう

1
投稿者投稿内容
KOUJI
会議室デビュー日: 2003/11/14
投稿数: 7
投稿日時: 2003-11-14 10:44
お世話になります。


プログラマ3年目ですが、.NETは初心者です。
VB.NETを使用しています。


TEXTBOXにHTMLタグを記述された場合(例えば<BR>など)
の対処法が分かりません。


現状では、
エラー0x80004005「危険な可能性のあるREQUEST.FORM値がクライアントから
検出されました」
となってしまいます。


Try Catchでエラー処理をしたいと思うのですが、
エラーが発生している箇所さえも特定できていません。


何かいい対処法をご存知の方がいれば教えてはいただけないでしょうか?
よろしくお願いいたします。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-14 10:50
引用:

KOUJIさんの書き込み (2003-11-14 10:44) より:

TEXTBOXにHTMLタグを記述された場合(例えば<BR>など)
の対処法が分かりません。

現状では、
エラー0x80004005「危険な可能性のあるREQUEST.FORM値がクライアントから検出されました」
となってしまいます。


 送信されたときにIISかワーカプロセスが、アプリケーションにデータを引き渡す前に出しているようです。

 ところで、「<br>など」ということは、<object>で危険なコードを埋め込まれるかもしれない、ということを理解した上でのことですよね?


 とりあえず、.aspxファイルの先頭付近にある、「<%@Page」から始まる行の中に、「validateRequest="false"」を埋め込むと、入力はそのままアプリケーションに引き渡されます。しかし、それがブラウザに送り返されるときにどうなるか、よく考えて、必要な処置を盛り込んでください。
KOUJI
会議室デビュー日: 2003/11/14
投稿数: 7
投稿日時: 2003-11-14 11:30
Jittaさんご回答ありがとうございます(^ー^)
参考になります。


非常にお恥ずかしいのですが、
HTMLもよく知りません。
<object>というタグを少し調べてみました。
要するに何かを実行する、ということらしいですね。


>とりあえず、.aspxファイルの先頭付近にある、「<%@Page」から始まる行の中に、
>「validateRequest="false"」を埋め込むと、入力はそのままアプリケーションに
>引き渡されます。
>しかし、それがブラウザに送り返されるときにどうなるか、
>よく考えて、必要な処置を盛り込んでください。
そういえばHELPにも記載されていました。
こちらの勉強不足でした。


テキストボックスにHTMLタグを入力された場合に、
プログラムがエラーとなってしまう(落ちる)のは、
見た目的にかっこ悪い、という考えから質問しました。


かといって、エラーとしなければ
サーバを攻撃される可能性まで出てくるということでしょうか。


一番いいと思うのは
エラーの発生箇所でTry Catchして
画面側でエラーを通知する、という方法です。


しかしながらTry Catchする箇所が分かっていません。
予想です。
.NETではaspx.vbファイルが実行される前に
エラーとする仕様である、ということでしょうか?


もしご存知の方がいれば教えていただけないでしょうか?

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-14 11:54
> かといって、エラーとしなければ
> サーバを攻撃される可能性まで出てくるということでしょうか。

 そういうことです。


> 一番いいと思うのは
> エラーの発生箇所でTry Catchして
> 画面側でエラーを通知する、という方法です。

 バリデータを使います。一応、下のリンクから私のウェブページへ行ってもらって、ASP.NETのところに行ってもらうと、「ページのバリデーションをオフにする」の項目に書いていますので、参考にしてください。ただし、私も自分のプログラムを作りながら書いているページなので、100%信用せず、必ずMSDNなどを参考して作り込んでください。
1

スキルアップ/キャリアアップ(JOB@IT)