いきさつ
ユーザー認証とかするやつですね。
おさらいしといたほうがいい感じになりました。
ざっくり
- 一般的にセッションが作成されると、セッションIDがユーザーに送信されます。(セッションIDをサーバー側にも保存します)
- Cookie(デフォルトではPHPSESSIDと呼ばれます)に保存されます
- そのCookieは、リクエストごとにブラウザからサーバーに送信されます
- サーバー(PHP)は、session_idを含むCookieを使用して、どのファイルがそのユーザーに対応するかを認識します。
- セッションファイル内のデータは、シリアル化された$ _SESSIONのコンテンツです(つまり、文字列として表されます-シリアル化などの関数を使用)。 また、ファイルがPHPによってロードされると、$ _ SESSION配列に入力するためにシリアル化されません。
詳しくは
公式が優しいです。
http://php.net/manual/en/book.session.php
ここも。
セッションIDがページからページへ、Cookieを使用してどのように渡されるかを説明します。
https://www.php.net/manual/en/session.idpassing.php
感想
….ということでログイン系のサービスを確認してみると、
ちゃーんとログイン後にindexを開く場合のリクエストヘッダに謎のCookieが仕込まれていることが確認できます。
案外単純です。
参考
https://stackoverflow.com/questions/1535697/how-do-php-sessions-work-not-how-are-they-used
最近のコメント