プロが教えるわが家の防犯対策術!

VB.NETのWEBアプリでテキストボックスにHTMLなどのタグを入れてしまうとエラーになりますよね・・・
でもどうしてもタグを使いたい場合はどうしたらいいのでしょうか?
出来ればいいのは一応限られてはいますが・・・
たとえば強調文字、文字色、ハイパーリンクができれば十分かなと思っています。
テキストボックスにタグが入った状態で操作するとエラーページになってしまいますがASP.NETのエラーページの見栄えが嫌いなので(ていうかユーザーがびっくりしちゃうので・・・)事前にタグを見つけるなんてことは可能でしょうか?

A 回答 (2件)

ASP.NETでは、デフォルトで、テキストボックスに"<"や">"などの「タグ定義」キャラクタがあると、ポストバック時に「危険なコードが入力された」云々の例外を出します。


これを止めるには、

・そのWebページだけで有効
.aspxの<@PAGE>ディレクティブでvalidateRequest="False"を設定する
・Webアプリケーション丸ごと有効
Web.configファイルに、<pages validateRequest="false"></pages>を追加

すればOKです。
一般的には、閲覧者の自由な入力を許すため、validateRequestはoffにして、「危険なコード」は手動で除去し、さらに再エンコードして悪意ある入力を排除するようにしています。

参考URL:http://mindia.jp/book/error/entry/1673
    • good
    • 0
この回答へのお礼

ありがとうございました!大変参考になりました!

お礼日時:2010/07/31 23:32

>テキストボックスにHTMLなどのタグを入れて


何の話か分かりません。
テキストボックスは<INPUT TYPE=TEXT>のこと?
ここに「タグ」を入れるとは?
文字列として"<"とか">"を入力するということ?
これなら、別に問題ないはずですけどね。
<TEXTAREA>~</TEXTAREA>のことかな?
この中にはタグは入れられません。
文字列としては入れられますけど、機能は
しません。勿論、送信時はエンコードします。
    • good
    • 0
この回答へのお礼

ありがとうです

お礼日時:2010/07/31 23:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!