設定以外に「潜在的に危険なRequest.Form値がクライアントから検出されました」というエラーを防ぐ方法はありますValidateRequest="false"
か?
更新:「ページ上」の部分を削除しました。ValidateRequest="false"
ページやweb.configではまったく使用したくない。
設定以外に「潜在的に危険なRequest.Form値がクライアントから検出されました」というエラーを防ぐ方法はありますValidateRequest="false"
か?
更新:「ページ上」の部分を削除しました。ValidateRequest="false"
ページやweb.configではまったく使用したくない。
新しいASP.NET 4.5 要求検証機能を確認してください。
設定した場合
<httpRuntime requestValidationMode="4.5" ... />
web.config では、値はアクセスしたときにのみ検証されます。これは遅延検証と呼ばれます。
また、検証されていない値を取得することもできます
var s = context.Request.Unvalidated.Form["forum_post"];
1入力にJavaScript検証を追加することもできます
2カスタムバリデーターを追加できます
はい、web.config でグローバルに実行できます。
.net 4.0 を実行している場合は、これを web.config に追加できます。
<httpRuntime requestValidationMode="2.0"/>
または、代わりにこれを追加できます
<pages validateRequest="false" />
web.config ファイルを編集して、アプリケーション全体で無効にすることができます。
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
エラーを抑制したいだけなのか、最初からエラーが発生しないようにしたいのかを知っておくと役立ちます。これを防ぎたい場合は、フォームを送信する前に入力を (javascript またはバリデーターを使用して) サニタイズしてください。