2016-03-23 11 views
0

私は企業向けに安全なウェブサイトを開発しています。すべての既知の脆弱性から完全に保護されることを望みます。私はセキュアなクッキーを作成し、HTTPOnlyを有効にしましたが、その例ではクッキー値をセッションIDとして使用していました。理解できませんでした。この方法を使用しないと脅威になりますか?セッションIDをクッキーに保存するという概念は何ですか?

+0

お問い合わせはありますか?なぜそれが脅威になると思いますか? – Kayaman

+0

はいセッションIDはセッション自体から取得できるので、セッションIDをクッキーに送信する動機を知る必要があります。 – user2695448

+0

セッションID(例:Cookieなど)がない場合、セッションIDとセッションIDをどのように取得できると思いますか?魔法? – Kayaman

答えて

1

セッションIDをクライアントに送信し、そのクライアントからの要求をセッションに一致させるには、サーバーに戻す必要があります。

AFAIKセッションIDを渡すには、クッキーまたはパラメータ(ほとんどの場合、取得要求をサポートするためのURLパラメータである)として、2つの方法があります。セッションIDをパラメータ経由で送信することは、脆弱ですが、攻撃者がクッキーと同じことを行うのは難しいことではないにしても、事前に作成されたセッションid(セッション固定)でリンクを提供できるからです。

URLパラメータを介してセッションIDを送信するだけでなく、セキュリティ上の問題が発生します。誰かがURLをコピーして誰かに送ると(「これを見てね」)、ウェブ上のどこかに投稿しているとします。セッションが存在する限り、そのリンクにアクセスする全員が同じセッションを使用し、互いに反復する。確かに、セッション(IPアドレス、MACアドレスなど)に関係なくユーザーを識別する方法はありますが、これらの方法は実現できないか、または他の制限を課すことがあります。

+0

すばらしい説明のためのおかげです。その後、私はセッションIDをjavaサーブレットのクッキーによって渡されたセッションを作成する必要があり、作成したセッションIDをさらに操作する必要があります。 – user2695448

+0

@ user2695448アプリケーションでセッションにアクセスする必要がある場合は、セッションIDをクッキーに渡し、Cookie値に基づいて各リクエストをそのセッションに関連付けます。これは、通常、Tomcatなどの標準のWebサーバーセッションを必要としない場合、つまりすべてが読み取り専用である場合、またはアプリケーションがビューの状態/セッション全体をクライアントに渡して戻す場合は、その必要はありません。 – Thomas

関連する問題