5

DropDownListがあり、攻撃ベクトルとして使用されないようにしようとしています。ユーザーが実際にDDLの値を変更してサーバーにポストバックすることはできないと想定できますか?現時点では、送信後にパケットを変更しようとすると、次のASP.NETエラーメッセージがスローされます。

For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.

これは、ビューステートハッシュで整合性が損なわれているためだと私は考えていますか?これを回避できますか?

ありがとう

4

2 に答える 2

3

いいえ、それを想定することはできません。

すべての入力が信頼できないことを常に考慮し、適切に処理する必要があります(正しいタイプであり、現在のユーザー(またはその他)がアクセスできることなどを確認してください)。 )。

于 2010-02-28T03:27:34.387 に答える
3

実際には、ページに EnableEventValidation = true がある限り、ドロップダウン リストのオプションがクライアント側で変更されていないと想定できるはずです (ページごとまたは web.config で無効にできますが、これはデフォルトです)。ドロップダウン リストのクライアント側に新しい値が追加され、ポストバックが発生した場合、イベント検証用にこの新しい値を登録しない限り、エラーが発生します ( http://odetocode.com/blogs/scott/archive/2006/03/21/ asp-net-event-validation-and-invalid-callback-or-postback-argument-again.aspx )

于 2010-02-28T03:51:03.480 に答える