浏览器网络http之:cookie

cookie

  1. 小型文本文件 4kB 左右, 存储在用户端
  2. 分类:内寸 cookie(浏览器管理存储在内存中,浏览器关闭即失效);硬盘 cookie(存储在硬盘中,有过期时间,也可手动删除,较内存 cookie 存储时间长)
  3. 缺陷:安全性低,明文传递;存储小,复杂数据存储不了;增加流量,每个 http 请求中都会加入。
  4. 使用注意点:浏览器“回退”,cookie 不刷新
  5. cookie 攻击:盗取(用户信息获取,合法进入用户账户),投毒(cookie 回传一般认为是不做修改,攻击者对 cookie 篡改,进而达到一些目的)

设置 cookie

Set-Cookie: cookieName=cookieValue; your_cookie=cookieVal

  1. 设置有效期( Max-Age)或到期时间(Expires)
    Set-Cookie: Max-Age=86400
    Set-Cookie: Expires=Wed, 21 Oct 2015 07:28:00 GMT

  2. 设置限制访问 HttpOnly(设置后:document.cookie 获取不到)/Secure 只用于 https 协议
    Set-Cookie: cookieName=cookieValue; HttpOnly;Secure

  3. 前端设置 cookie document.cookie='cookieName=Asf123'

  4. 设置 cookie 作用域 Domain(可接收 cookie 的主机,如:Domain=ezlost.com,则 develop.ezlost.com 可接收) / Path(主机下的可接收 cookie 的路径,以"/"符号作为分隔符,如:Path=/FE,则 www.ezlost.com/FE/webSafe 可匹配)

  5. 设置 SameSite(允许服务器跨站请求不发送 cookie),阻止跨站请求伪造攻击。
    Lax 为默认值,允许跨站请求需设置SameSite=None
    SameSite=Strict
    SameSite=LaxStrict二者相似除用户从外部站点请求

应用

  1. 可以存储 Token,但需是简单的 Token
  2. 用户行为习惯分析
  3. 用户登录标识(服务器判断用户)
上一篇
下一篇