2009-05-15 11 views
1

ユーザーが外部名を入力すると、検証エラーが発生します。例:ASP.NET検証

System.Web.HttpRequestValidationException:潜在的に危険なRequest.Form値がクライアントから検出されました(ctl00 $ pageContent $ txtName = "Pedroúlogo")。

ここで、úは&#250と解釈されています。 (スペースなし)

これらの外来文字は許容されており、検証エラーを引き起こしてはいけません。私は、ASP.NETの検証がUTF-8

に多くのWebサイトをUTF-16を使用して検証しないようにする、ブログ、フォーラムには、検証をオフにして、単純に言う。(すなわちのvalidateRequestは= "false" を)

があります検証をオフにしないでこれを回避する方法?検証をオフにすることは、このアプリケーションでは受け入れられません。

おかげで、 ジェフ

答えて

1

これは、要求の検証メカニズムを微調整するために、実際にはできません。それは一種のハードコードです。あなたがそれを無効にしたくない理由はわかりません。あなたがサニタイズとHTMLエンコーディングをして、あなたがユーザーから手に入れたすべてのものを処理し、ページに表示したい場合(ASP.NETリクエストの検証に関係なく、やっていなければならない)、それはあまり必要ありません。

+0

グレート答えの重複しています。私はいつも要求の検証についての神話に困惑しています。人々はいつも潜在的なセキュリティホールを開いていると言いますが、それを悪用している人の例は見ていません。 – womp