2009-04-01 10 views
0

は私のasp.netのページにこのエラーを取得しています:ASP.Netエラー

潜在的に危険のRequest.Form値がクライアントから検出された(ctl00 $ DefaultContent $ UCSimpleSearch $ txtFind = "$%で^ &#1%^& @#%@ ")。

このページのテキストボックスに$%^ &#%^ & @#%@と入力して投稿すると、このエラーが発生します。

どうすればこのエラーを解決できますか? これを取り除くには、PageディレクティブでvalidateRequest = falseを設定することをお勧めしますか?

ありがとうございました。あなたがhtmlタグを投稿し、ユーザーを有効にする必要がある場合はそれはあなたがサーバーにHTMLタグを含む値を投稿することができないこと、それは、セキュリティ上の理由

のための.NET Frameworkの非常に以前のバージョンを追加したことを意味し

答えて

2

ValidateRequestをfalseに設定することは、このエラーを回避する1つの方法です。これらの文字のいずれかがあなたのフォームの有効な入力文字であるかどうかを判断する必要があります。それらがある場合、これをオフにして、すべてのユーザー入力を正しく処理する必要があります。

私は危険な文字のリストを見つけることができないので、誰かがそれを知っていれば、それにリンクする価値があります。

いくつかの良い情報はhereです。

原則として、サイトに置いたデータを常にhtmlエンコードする必要があります。これをオフにしても害はありません。しかし、あなたがいるかどうかわからない場合は、それをそのままにして、あなたのフォームにこのデータを許可しないことが最善です。

-1

あなたはのvalidateRequestを追加することができます= "false"をページ指示文に設定する

1

page指示文に「validateRequest = false」を設定するのは、自分で検証し、誰かが投稿できると思うことができると確信している場合にのみ行うべきですあなたのサーバーに。

入力した文字列が有効な入力である場合は、要求の検証を無効にする必要があります。

0

これを取り除くには、PageディレクティブでvalidateRequest = falseを設定することをお勧めしますか?

テキストボックス入力の検証を明示的に処理することができますか?