0

データセット フィルターに設定された値パラメーターを持ついくつかのアイテムを含むチェックボックス リストがあります。これらの値は、有効なチェックボックスの範囲内にあることを確認するためにポストバックで検証されますか、またはユーザーが無効なチェックボックスを有害な (SQL インジェクション) 値でリストに挿入できますか?

4

1 に答える 1

2

ユーザーは、ブラウザーで既にレンダリングされているページに必要なものを挿入できます。ただし、リスト内のチェックボックスに関連付けられている実際の値は、ViewState. 次にViewState、 はハッシュされます (少なくともデフォルトでは)。したがって、誰かがチェックボックスの 1 つによってサーバーに戻された値を操作する唯一の方法は、ViewStateすぐに例外をスローする を操作することです。

そうは言っても、ハッシュは絶対確実ではなく、ViewState が改ざんされていないことを確認するための対策を講じる必要があります。たとえば、ViewState を暗号化してさらに困難にすることもできますが、パフォーマンスが低下します。

値の使用を許可する前に、プログラムで値を検証するだけです。上記の Uwe の言葉から借用すると、ユーザーの入力は決して信用しないでください。

于 2012-08-22T15:15:44.467 に答える