---
# System prepended metadata

title: 優缺點比較
tags: [Cookie & Session]

---

###### tags: `Cookie & Session`

# 優缺點比較

### 1.Cookie、Session
1. 儲存位置: 
cookie 存儲於瀏覽器端與電腦緩存大小限制為4K、且每次請求時都會帶上，而 session 存儲於服務端(資料庫,記憶體或是檔案)。
3. 安全性:
cookie 的安全性相比於 session 較弱，別人可以分析本地的 cookie 進行修改。
假設 Server 讓 Account = "Jerry" 可以登入， 別人可以修改 cookie 讓自己的 Account = "Merry" 變成 Account = "Jerry"。
3. 使用時機: 
session：帳號登錄驗證過後，Server端所發的識別證。
cookie：是瀏覽器存放資料的地方，可以存放使用者偏好設定等資料。

:::success
##### Cookie安全三屬性:
1. Secure: 
cookie 必須通過安全的 HTTPS 連接傳輸。
2. HttpOnly: 
防止代碼注入，例如 JavaScript訪問 cookie (document.cookie) 等，來防止 XSS。
3. SameSite:
只接受同網域發送的所有請求來防止CSRF。
Strict: 確保只有網域請求。(只適用金流等需要嚴格把關的網站)
Lax: 允許為網域點請求以及用戶操作發起的跨網域請求發送 cookie，例如點擊連結。
:::

### 2. LocalStorage、SesseionStorage
1. 都是使用 key / value pair 的方式 給值或取值。
2. 大小預設有 5mb~10mb。
3. 每次 request 不會帶上。
4. 儲存時間: 
LocalStorage 沒有時間限制除非被清除， SesseionStorage 為關閉瀏覽器或分頁時自動清除。
5. 使用時機: 
LocalStorage 可用在儲存我的最愛，SesseionStorage 可用在儲存表單的下一步功能。




