Asp.netアプリケーションが1つありますが、検索ボックスに「:&#」などの特殊文字を入力しているときに問題が発生します。このテキストを検索ボックスに入力すると、次のような例外が発生します。
潜在的に危険なRequest.Form値がクライアントから検出されました(txtValue = ":&#、")。
次に、ネットで検索したところ、validaterequestをfalseに設定するという一般的な解決策が1つありました。しかし、私のアプリケーションには変更が加えられていません。この問題を解決するために私を助けてください。よろしくお願いします。
を含む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" />
も参照してください
少し遅れましたが、これをweb.configに入れることはセキュリティホールであると言っている人たちと一致しています。
問題のコントローラーの[ValidateInput(false)]
属性を使用して実行します。
ValidateInput
はMVC2のSystem.Web.MVC
にあります
列article
とarticle_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
Framework 4.5を使用する場合の解決策は、web.configを変更して次の行を追加することです。
<httpRuntime requestValidationMode="4.5"/>
そして、次のようにリクエストを取得します。
string reportXML = this.Request.Unvalidated.Form["reportstream"];