web-dev-qa-db-ja.com

潜在的に危険なRequest.Form値がクライアントから検出されました

Asp.netアプリケーションが1つありますが、検索ボックスに「:&#」などの特殊文字を入力しているときに問題が発生します。このテキストを検索ボックスに入力すると、次のような例外が発生します。

潜在的に危険なRequest.Form値がクライアントから検出されました(txtValue = ":&#、")。

次に、ネットで検索したところ、validaterequestをfalseに設定するという一般的な解決策が1つありました。しかし、私のアプリケーションには変更が加えられていません。この問題を解決するために私を助けてください。よろしくお願いします。

14
MAC

を含むweb.configを追加します

<system.web>
    <pages validateRequest="false" />
</system.web>

問題のフォームを持つページのあるディレクトリに移動します。

完全な説明については、 http://www.asp.net/learn/whitepapers/request-validation を参照してください。

Asp.net 4.0を使用している場合は、試してみてください

<httpRuntime requestValidationMode="2.0" />

も参照してください

22
marapet

少し遅れましたが、これをweb.configに入れることはセキュリティホールであると言っている人たちと一致しています。

問題のコントローラーの[ValidateInput(false)]属性を使用して実行します。

ValidateInputはMVC2のSystem.Web.MVCにあります

17
Jamie M

articlearticle_contentを持つテーブルarticleIdを作成しました。 article_content列にもhtmlエディターを使用しました。保存しようとすると、同じエラーが発生しました。これは、クラスの[AllowHtml]プロパティにarticle_contentを追加することで解決されました。

System.Web.Mvcを使用して名前空間を含めることを忘れないでください。詳細: http://www.infinetsoft.com/Post/A-potentially-dangerous-Request-Form-value-was-detected-from-the-client/1246

2
Mohamed Rasik

Framework 4.5を使用する場合の解決策は、web.configを変更して次の行を追加することです。

<httpRuntime requestValidationMode="4.5"/>

そして、次のようにリクエストを取得します。

string reportXML = this.Request.Unvalidated.Form["reportstream"];
1
Manuel Sansone