0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelのsessionについてまとめた

0
Posted at

laravelのsessionについてまとめる。

sessionってなんやねん

要はリクエストをまたいで値を保持する仕組み。
Laravelでは「サーバー側に保存」されるのが基本。

これによって、ページが切り替わっても情報を保持できる。

どういう時に使う?

・フォームの値を別ページでも保持したい時
・ログイン状態を管理したい時
・一度だけ表示するメッセージ(success, errorなど)
・複数画面にまたがる処理(ウィザード形式など)

CookieやLocalstrageとの違いは?

種類 保存場所 保存主体
Session サーバー Laravel
Cookie ブラウザ ブラウザ
LocalStorage ブラウザ JavaScript

session

サーバー側に保存
ブラウザには session ID だけがCookieとして保存される
セキュリティが高い
Laravelでは自動で管理してくれる

session(['name' => 'Taro']);
session('name'); // Taro

✔ ログイン情報
✔ フォームの一時保持
✔ 重要なデータ

Cookie

・ブラウザ側に保存
・有効期限を設定できる
・サイズ制限あり(約4KB)
・ユーザーに改ざんされる可能性あり

cookie('theme', 'dark', 60);

✔ 軽い設定情報
✔ 言語・テーマ設定など

Localstrage

・JavaScript専用
・有効期限なし(手動削除まで残る)
・サーバーには自動送信されない
・容量が大きい(約5MB)

localStorage.setItem('token', 'xxx');

Laravelでの使い分け

目的 使うもの
ログイン・認証 Session
フォーム入力保持 Session
一時的な通知 Session(flash)
UI設定 Cookie
JSだけで使う状態 LocalStorage

Session:安全・サーバー管理・Laravelの主役
Cookie:軽量・設定向き
LocalStorage:フロント専用・永続保存

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?