セッションが作成されると、デフォルトでセッションキーと呼ばれる文字列によって識別されます。 PHPのデフォルトでは、これはクッキーとしてPHPSESSIDの名前で保存されます。例えばPHPSESSID = absuk44ocvs55mkp6eh1gh58q3
このキーを使用してセッション情報を読み込むことができます。セッション情報は、例えば、ファイル。
セッションIDは、クライアントによって複数の方法で使用/保存できます。 PHPでは、URLでのセッションの使用だけでなく、クッキー内でのセッションの使用もサポートしているようです。クッキーはdisabledでもかまいませんが。
phpに基づいた特定のウェブサイトは、関連するデータをファイル以外の方法で保存することもあります。例えばデータベースに格納する人もいます。
しかし、ほとんどの場合、一部のデータはユーザーを追跡するために使用されるCookieに格納されます。
あなたのコード例:
$_SESSION['login'] = 1;
は、変数を設定する前にsession_start()を必要とするでしょう。 これは、(既存の有効なセッションIDに基づいて)セッションをロードするか、新しいセッション(ランダムセッションID、または構成に応じて渡されたセッションID)を作成します。 'ログイン'と値はサーバー上にローカルに保存されます。
次回クライアントが接続すると、セッションIDが読み取られ、このセッションIDに基づいて$ _SESSIONに格納されたデータを取得できます。
デバイスだけでなく、別のブラウザでも動作します。 – C2486
@Rishiいいえ、それは当てはまりません。Chromeでstackoverflowにログインすると、** IEやFireFoxにログインできなくなります**。 –
クッキーにランダムな値が設定されています。これは、ブラウザとサーバーの共通の識別子です。 http://stackoverflow.com/questions/7298974/how-the-session-work-in-asp-net –