1
0

More than 1 year has passed since last update.

SESSIONとCookieの違いとログイン処理

Last updated at Posted at 2022-03-06

「SESSIONとCookieの違いってなんだろう?」をまとめてみたのと、一緒に利用されているログイン処理についての備忘録。

SESSION とは

サーバー側で保有している、ユーザーと紐ずくデータをサーバー側に一時的に保存できる仕組みの事。

SESSIONが使われる例

複数のページ間で情報を共有する必要がある「ログイン」「アンケートフォーム」などで利用される。

Cookieとは

ブラウザ側で保有している、ユーザーが選択した情報やSESSION IDなどをブラウザ側に一時的に保存できる仕組みの事。

Cookieが使われる例

ブラウザを閉じても一定期間ブラウザ側に保存されるので、ログイン機能と合わせて利用されたり、
オンラインショッピングのカートの中身情報などを保存する目的などで利用される。

PHPのログイン処理

  1. SESSIONを生成して、サーバー上でSESSION IDを発行する
  2. SESSIONを生成したブラウザのCookieにSESSION IDを書き込む
  3. SESSION変数SESSION IDとリンクさせてサーバー上に保存する
  4. ページ移動時はブラウザのCookieからSESSION IDを取り出して、SESSIONを生成したブラウザか判断する(SESSIONの復元)
  5. SESSIONを生成したブラウザ(同じSESSION IDを持つブラウザ)であれば、サーバー上に保存されているSESSION変数へのアクセスが可能になる
  6. ログアウト時はサーバー上のSESSION ID、保存されているSESSION変数、ブラウザのCookieに保存されているSESSION IDを削除してSESSIONを終了する

参考サイト

(PHP) SESSIONとCookieの違い【使い方・使い所なども解説】

参考文献

オフィス加減 著 「つくって覚えるPHP入門」 P.166 - 167

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0