# Cookies 特性
* 前端數據存儲
* 后端通過http頭設置
* 請求時通過http頭傳給后端
* 前端可讀寫
* 遵守同源策略
# Cookies 設置項
* 域名
* 有效期
* 路徑
* http-only
* secure
* samesite
# Cookies 作用
* 存儲個性化設置
* 存儲未登錄時用戶唯一標識
* 存儲已登錄用戶的憑證
* 存儲其他業務數據
### Cookies - 登錄用戶憑證
* 步驟
> 1. 前端提交用戶名和密碼
> 2. 后端驗證用戶名和密碼
> 3. 后端通過 http 頭的 set-cookie 設置用戶憑證
> 4. 后續訪問時后端先驗證用戶憑證
* 方式
> * 用戶ID(有安全隱患:復雜度太低,容易被猜測)
> * 用戶ID + 簽名
> * SessionId(sessionId所關聯的用戶信息可以存放在 文件中、數據庫中、緩存比如redis/memcache中,很少會放到內存中)
> * Token
# Cookies和XSS的關系
* XSS可能偷取Cookies
* http-only的Cookie不會被偷
# Cookies和CSRF的關系
* CSRF利用了用戶Cookies
* 攻擊站點無法讀寫Cookies
* 最好能阻止第三方使用Cookies(samesite)
# Cookies - 安全策略
* Cookies 加簽名防篡改
* Cookies 私有變換(加密)
* http-only(防止XSS)
* secure
* samesite(防止CSRF攻擊)