asp.netセッションセキュリティ

asp.net
asp.netセッションセキュリティ

かなり機密性の高い情報をセッション変数に入れた場合、どのくらい安全ですか? クライアントが不正なページを作成し、アプリケーションにajax呼び出しを行うことでアクセスできますか?

ありがとう。

  3  1


ベストアンサー

つまり、サーバーに保存されているため、安全である必要があります。

変数は、公開しない限り安全です。 セッション変数を取得するために、Ajax呼び出し(またはその他の種類の呼び出し)を勝手に行うことはできません。 サーバーで実行するコードを作成できる必要があります。

ただし、誰かがあなたのユーザーのセッションを乗っ取ることができるなら、あなたはそれをあなたがそれを表示するページで見ることができるでしょう(あなたがそうするなら)。 ただし、このセキュリティ上の懸念はセッション変数に限定されません。 これについて心配している場合は、https://stackoverflow.com/questions/3509862/avoid-session-hijacking-for-web-applications [HTTPSを使用することをお勧めします]。

2


リクエスト間でそのデータを本当に保存する必要がある場合は、サーバー側に保存する必要があります。

リクエスト間で使用する情報を保存するには、次のオプションがあります。

  • 非表示フィールド:機密情報の保存にこれを使用しないでください
    ユーザー(または悪意のあるユーザー)がその情報を取得できるため。

  • ViewState:ここに機密情報を保存することは避けてください
    本当に本当に本当に必要な場合は、ビューステートを暗号化する必要があります。

  • Cookie:機密情報を保存するためにこれを使用しないでください。
    非表示フィールドのように、内部の情報を簡単に確認できます。

  • セッション:本当にそのデータを保存する必要がある場合、ここがあなたの場所です
    使用する必要があります。 ITの世界では、安全なものは何もありませんが、これはその情報を保存するためのより安全な場所です。

何も忘れていなかったと思う。

2


クレジットカードデータを扱うときは、非常に注意する必要があります。 あらゆる種類のコンプライアンス規制や法律を考慮する必要があるので、これは軽く取ることができるものではありません。 基本的に、セッションは私が検討する唯一の場所です…​ 私がした場合。 私はまだそれを暗号化します。 しかし、実際には、クレジットカードのデータを保存できる場合は、保存しないことをお勧めします。 そこには多くの支払いシステムがあり、銀行も処理ツールを提供しています。 ユーザーがトランザクション中にそれを入れ、エントリを安全に保ち、どれも保存しないようにする場合、それは法的な観点から最も安全です。 データを保持することでリスクを負うことはありません。

クレジットカードのデータを保持する必要がある場合は、次のPCI規制を参照してください。http://www.pcicomplianceguide.org/pcifaqs.php#2 [PCIコンプライアンスガイド]

さらに、安全なセッションの使用に関するこのガイドが役立つ場合があります:http://msdn.microsoft.com/en-us/magazine/cc163730.aspx[ASP.NET高速、スケーラブル、安全なセッション]

1


タイトルとURLをコピーしました