ASP.NET 4.0验证请求潜在的に危険のRequest.Form値がクライアントから検出されました

オリジナルリンク: http://www.cnblogs.com/TSPWater/archive/2012/01/31/2333210.html

デフォルトのページの入力ボックスには、「<」や「>」の時間を入力するときは、Visual Studio 2010をインストールした後。XSS(クロスサイトスクリプティング攻撃を)次のようないくつかのセキュリティ上の問題になり、アクセスポリシーに従って、。より正確には問題は、ある記述の.NET Framework 4.0フレームワークのバージョン、サーバーの要求のいずれかに、アプリケーション、サーバが認証のために要求されたとき、あなたは.NET Frameworkの4.0である以降がインストールされたときに(ValidationRequest)だけでなく、ASP.NETを含み、Webサービスもあるためで開催されるこの検証(Valify)プロセスで、その他のaspxページのため、だけでなく、HTTPハンドラのためだけでなく、他のHTTPリクエスト、HTTPモジュールを備えていますイベントの前にBeginRequestイベント。

上記の原理に基づき、ASP.NETの以前のバージョンでは、デフォルトの要求の検証が開かれますが、ページレベル(ASPX)で発生し、要求の実行には、そのため、古いバージョンでは、私たちはする必要がある場合にのみ有効になりますあなたは、次のように設定できます。

ページレベル(ASPX)が設けられている
のvalidateRequest "偽の" =
または
設定されているグローバルレベルで(Web.configファイル)
< 設定>
    < System.Webの>
        < ページ  のvalidateRequest = " falseに " >

しかし、上記の設定だけASP.NET4.0より効果的。ASP.NET4.0のバージョンでは、我々はより多くのライン構成が必要になります。

グローバルレベル(のWeb.config)に設定されている
< 構成>
    < System.Webの>
        < のhttpRuntime   requestValidationMode = " 2.0 " >

これは、エラーが発生したページが説明されてきた、実際にあります。実際の使用において、それだけでなく、限りrequestValidationModeとして4.0未満、例えば、に設定することができる:ASP.NET 2.0の単なる例示デフォルトのオブジェクトを使用して、2.0で示さ1.0,2.0,3.0,3.9が可能であり、エラー仕事をする方法。

ます。https://www.cnblogs.com/TSPWater/archive/2012/01/31/2333210.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_30617561/article/details/95302683