2012-03-02 86 views
3

ユーザーは、彼らがエラーをクリックしたテーブルの行項目の詳細が表示され、別のページにそれらを取るために画像ボタンをクリックしたときに、私は、ユーザーコントロールを含むページを持っているが発生します。この状況では、EnableEventValidation = "false"と設定するセキュリティリスクはありますか?

System.ArgumentException: Invalid postback or callback argument 

私はこれを停止することができますEnableEventValidation = "false"に設定するとエラーが発生します。これはセキュリティリスクですか?もしそうなら、なぜですか?

答えて

5

この機能により、不正なまたは悪意のあるポストバック要求とコールバックのリスクが軽減されます。イベントの検証を無効にしないことを強くお勧めします。

EnableEventValidationプロパティがtrueに設定されている場合、ASP.NETはコントロールイベントがコントロールによってレンダリングされたユーザーインターフェースに由来することを検証する[...]

私は「http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx

参照ターゲットページが単一の目的を果たしている、つまり詳細なデータを表示している場合、ターゲットページに潜在的なセキュリティホールが実装されていないことを確認すると、このページのEventValidationを無効にすることができます。サイト全体のweb.configにはない!

しかし、なぜこのエラーが発生しているのかを調べる方が良いと思います。多分あなたが表示したいデータを指定するためのフォームパラメータではなくQueryparametersを使ってリダイレクトするのは簡単な解決策です...

関連する問題