1

まさにそれ。よくわかりません。

ViewState 暗号化はユーザー データのプライバシーを保護するために提供されていますが、たとえば、(https ではなく) http を使用して投稿されたフォーム データが、http メッセージ本文からインターセプターに対して明確に表示される場合、ViewState を暗号化するように設定する意味は何ですか?

明確にしていただきありがとうございます。

4

3 に答える 3

1

ViewState 暗号化のポイントは、データが改ざんされないようにすることであり、データが閲覧されないようにすることではありません。ドキュメントから:

ハッシュ値を作成することにより、ASP.NET ページ フレームワークは、ビュー ステート データが改ざんされていないかどうかをテストできます。ただし、ビュー ステート データは引き続き表示でき、悪意のあるユーザーによって傍受されて読み取られる可能性があります。... MAC エンコーディングは、ビュー ステート データの改ざんを防ぐのに役立ちますが、ユーザーがデータを表示するのを防ぐことはできません。

アップデート

私の最初のコメントは少し誤解を招くように見えるかもしれません -暗号化を使用して ViewState の表示を保護できますが、これは実際のデータを暗号化しませんPOST(これが私が得たポイントでした)。

于 2012-11-06T16:11:25.050 に答える
0

機密データを表示状態に保つ場合は、暗号化することをお勧めします。デフォルトでは、ページのコントロールが暗号化を要求しない限り、ビューステートは暗号化されません。

于 2012-11-06T16:16:31.627 に答える
0

ViewState はステートレス環境でステートフルネスを合成するために使用されるため、ユーザーがページと対話するときにページの状態を追跡するためにページによって内部的に使用される情報を含めることができます。

したがって、ビュー ステート情報の抽出、変更、または改ざんに使用されて、ページの動作に影響を与える可能性があります。特に、「ワンクリック攻撃」 (完全な状態が事前にビルドされ、一発で投稿される攻撃) を防ぎます。投稿データは暗号化されません (SSL を使用する場合はトランスポート以外で)。これは、A) HTTP や HTML にはこれに対するメカニズムが実際には存在せず、B) とにかくクライアントがデータを発信する 1 回のトリップだからです。

ViewState をまったく使用しない場合 (良いことです!)、またはユーザー情報を悪意を持って操作または抽出するために使用できないと確信している場合は、使用しないでください。

于 2012-11-06T16:12:34.610 に答える