# 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攻击)