13

以前の仕事では、誰も ASP.NET に移行したくない従来の ASP アプリケーションがありました。それがしたこと、それは非常にうまくいきました。

ただし、ASP.NET に最も適していると思われるいくつかの新しい機能を追加する必要がありました。この決定は、システムが ASP と ASP.NET の奇妙なハイブリッドになることを許可するために行われました。

私たちの最大の問題点はセッション管理であり、フォーム変数を介してセッション値を渡すためのソリューションをハックしました。Cookie を使用してこの同じ問題を処理した他のユーザーと話をしました。

どちらの方法も、(ひどく安全ではないことに加えて) 恐ろしいクルージのようです。

より良いまたはよりクリーンな方法はありますか、それとも、このトピックに関する議論が無意味であることから始めるのは、これは非常に悪い考えですか?

4

6 に答える 6

9

セッションデータをサーバー側のデータストアに永続化できませんか?つまり、XMLファイル、データベースなどです。次に、ハッシュ(セッションを安全に識別するいくつかの基準に基づいて計算)を.NETページに渡すことができます。このページは、この識別子を使用してデータストアからデータを取得し、セッションデータを入力できます。 。それでも、各アプリで最新のセッションデータを利用できるようにするために、プロキシを介してASPからASP.NETにリクエストを渡す必要があることを意味しますが、これを実現する別の方法がわかりません。

于 2008-09-25T13:07:10.683 に答える
5

私は同じ問題に対処しなければなりませんでした。私の場合、キーを Cookie に暗号化し、データベースを他の情報に使用しました。.NET で暗号化を作成し、ASP 側で ID を復号化するために相互運用しました。ASP が .NET と同じ文字列を取得しないという点で、base-64 文字列を扱う際の奇妙な点があります。そのため、私が行ったように、base-64 文字列を 16 進数に相当する文字列または類似の最小公分母に書き換える必要があるかもしれません。戦術。比較的安全です (XSS 攻撃を保存します)。

于 2008-09-25T13:03:54.437 に答える
1

私は一般的な場合にこれを行うためのよりクリーンな方法を知りません。しかし、おそらく、システム間で共有する必要のある状態をより具体的に説明できますか?特定のケースでは、よりクリーンな解決策があるかもしれません。セッションオブジェクトの状態は、状態を維持するための最良の方法であるとは限りません。

于 2008-09-25T13:07:00.090 に答える
1

私はWesPに同意する必要があります...長期的な目標は何ですか?長期的な目標が従来のASPアプリケーションをASP.NETに移行することである場合、短期的な修正は、それが何であれ、機能すると思います。長期的には従来のASPアプリケーションを維持する場合は、Oglesterが推奨するものと同様に、セッション管理用のより堅牢なソリューションを使用することをお勧めします。

于 2008-09-25T13:09:16.293 に答える
1

最終的には、ASP アプリを .NET に変換するのが最善の方法でしょう。多分言うまでもないことだと思いますが。セキュリティが大きな懸念事項である場合は、対称暗号化やハッシュなど、より安全にするために、セッション情報の暗号化と整合性の維持まで実行できる手順があります。

于 2008-09-25T13:04:49.707 に答える