0

レコードを作成するための GET アクションがあります。ページは多少動的であるため、モデルを使用してデータを保持しません。後で作成画面に戻るためだけに、OAuth を実行するために出発します。データを返すために、クエリ文字列でリダイレクトしています。GET アクションでクエリ文字列を解析し、ビューを表示します。問題は、クエリ文字列がブラウザに表示されていることです。これにより、疑似機密データが表示されます。

データの転送にクエリ文字列のみを使用しているため、クエリ文字列を破棄してブラウザに表示されないようにすることができるかどうか疑問に思っています。

それ以外の場合、リダイレクトせずに別のアクションに移動する方法はありますか? 「他の」アクションメソッドを直接呼び出すと、元のアクションのビューを見つけようとすることがわかりました。return View(viewModel)行を明示的に変更できますreturn View("create", viewModel)が、それは本当に汚いようです。

4

2 に答える 2

2

POST 要求を受け入れるようにアクションを変更することを検討する必要があります。少なくともこれにより、機密情報がブラウザに表示されるのを防ぐことができます。セキュリティを強化するために、サイトは SSL 経由で提供する必要があります。

他に試すことができるのは、機密性の高い値またはクエリ文字列全体を暗号化することです。唯一の問題は、ユーザーにログインを要求しない限り、これもブラウザの履歴に保存されることです.

于 2012-01-22T04:00:25.140 に答える
0

アクション メソッドがやりすぎているようです。認証/承認は、アクション メソッドの一部であってはならない別の問題です。認証作業をアクション フィルターに移動することをお勧めします。

認証属性を拡張するクラスを作成し、その OnAuthorization メソッドをオーバーライドして認証作業を行います。

これにより、コントローラーのアクション メソッドが解放され、POST 要求を受け入れることができます。

于 2012-01-22T17:55:52.100 に答える