2017-03-03 10 views
0

セッションはサーバ側オブジェクトであり、サーバ上に存在します。すべてのセッションにセッションIDが割り当てられます。セッションIDは一意の番号で、訪問(セッション)中にサーバーが特定のユーザーに割り当てられます。デフォルトでは、セッションIDがクッキーに添付され、このクッキーはリクエスト/レスポンス中にクライアントからサーバー(およびサーバーとクライアント)に共有されます。そして、サーバは、クッキーから検索されたセッションIDに基づいてセッションを識別する。Expressセッションはクッキーなしで動作しますか?

ExpressセッションがCookieレスで動作するかどうかを知りたいですか?

+1

[クッキーなしのPHPセッション]の可能な複製(0120-337-002) –

+2

@AbdullaNilamノードとエクスプレスの解決策は次のとおりです。完全に異なる –

答えて

1

ExpressセッションがCookieレスで動作するかどうかを知りたいですか?

いいえ実際のexpress-sessionモジュールは、クッキーでのみ動作します。特定のブラウザから来る次のページリクエストまたはAjaxリクエストにそのCookieが含まれ、express-sessionがそのセッションIDに対応する適切なサーバー側セッションオブジェクトを検索できるように、CookieにセッションIDを格納します。

クッキーを使用しないセッションシステムを作成することは可能です。

http://somedomain.com/somepath?sessionID=0823408234 

しかし、あなたはすべての修正レンダリングシステムを使用していない限り、このサイトをこのように構築するためにはるかに厄介である:それは通常のようにクエリパラメータとしてURLにセッションIDを置くことによって行われますあなたのためのリンク(セッションを保持したいページ内のすべてのリンクは、クエリパラメータに正しいセッションIDを持っていなければなりません)、ブックマークや他の多くの問題を投げ捨てます。

しかし、express-sessionはこのようには行いません。それにはクッキーが必要です。

+0

URLにセッションIDを送信するのはセキュリティではありませんか? –

+0

@AbhishekAnandはい、そのため、人々はドメインベースのCookieを使用してセッションIDを保存しています。したがって、別のドメインはあなたのセッションIDを追跡することができません。 –

関連する問題