プログラミング学習帳

オンラインプログラミング学習サービス「ウェブカツ!!」で習ったことを整理してます。

ログインシステム作成のメモ(CookieとSessionについて)

・ログインシステム:一度ログインした機能を保存する

 


Cookieとは、少量の情報をブラウザに保存する仕組み
・データベースに保存するほどでもない情報は、Cookieに保存できる
Cookieには期限をつけられるため、ブラウザを閉じても情報を保持できる
・例 ショッピングサイトのカート→ブラウザを閉じて、また開いてもカートの商品が残ってる→Cookieに保存されている
Cookieがないと、例えば、毎回ログインの手続きを記入しないといけなくなる
・手間を省くために用いられる


Cookieの仕組み
1ブラウザ側で「サイトAを見たい!」とリクエストを投げる
2サーバー側で、リクエストがあったサイトAと共にCookieを作って、ブラウザへ返す
3再度ブラウザ側で「サイトAが見たい!」とリクエストを投げる時、Cookieも一緒に投げられる
4サーバー側で、受け取ったCookieの情報を元にして、相手を判別して処理する

 

 

 

・Sessionとは、Cookieを使ったブラウザとサーバー間での値(個人情報など)のやり取りを、外部から見えなくするための仕組み
Cookieは、ブラウザとサーバー間で値を直接やり取りするため、通信を盗み見られる恐れがある→個人情報を保存しておくには不向き
Cookie内にはID(SessionID)だけを保存し、個人情報などはサーバーで保存する
・そのIDを元にサーバー側で情報を照合する仕組みを作ることで、第三者に情報の中身を見られないようにする


Sessionの仕組み
1ブラウザ側で、ログインページからユーザー情報を送信
2サーバー側で、SessionIDを発行し、受け取ったユーザー情報をSessionIDと一緒にサーバーに保存
3サーバー側は、ブラウザにCookieをつけてページを返す
4ブラウザは、次以降、Cookie付きのリクエストを投げる
5サーバー側は、受け取ったCookie内のSessionIDを元に、サーバーに保存されたユーザー情報を判別し処理を行う