Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • AIGC

  • Git

  • Linux

  • 数据协议

  • 数据结构

  • 架构设计

  • 算法

  • 编程工具

  • 编程范式

  • 编解码

  • 网络基础

    • HTTP状态码
    • CDN
    • DNS
    • HTTP
    • TCP
    • Web安全
    • http2
    • https
    • websocket
    • 跨域
    • cookie
      • SameSite 常用配置
      • 参考
    • 如何减少预检请求OPTIONS
    • 浏览器缓存
  • 通用技术
  • 网络基础
gahing
2021-09-21
目录

cookie笔记

保障 Cookie 安全的三种配置:

  1. HttpOnly: js api 无法访问到带有 HttpOnly 属性的 Cookie,避免 XSS 攻击
  2. Secure: 请求非 https 不会携带有 Secure 属性的 Cookie,避免中间人攻击
  3. SameSite: 控制 Cookie 发送的场景,避免 CSRF 攻击,包含 Strict、Lax、None 三种值,Chrome 80 后默认值为 Lax。
  • Strict: 仅允许同站请求 (opens new window)发送 Cookie
  • Lax: 允许同站请求和部分跨站请求(a 链接的点击跳转,预加载请求,GET 表单)发送 Cookie
  • None: 设置 Secure 的情况下,无论是否跨站都会发送;否则视为 Lax 策略

# SameSite 常用配置

  • 公开图片:SameSite=None,允许第三方域名 CDN
  • 隐私图片:SameSite=Lax/Strict,使用同站域名 CDN
  • ...

隐私图片配置 Lax ,第三方网站无法通过 <img> 、fetch 等请求获取。

虽然可以使用 Get form 表单请求携带 Cookie,但是提交表单跳转的其他页面,第三方站点无法获取到数据,影响不大

<form method="GET" action="https://p0-image-private.ixigua.com/tos-cn-i-0004/xx~noop.webp">
  <input type="hidden" name="policy" value="teyJ2bSI6MywidWlkIjoiODUxNjYyOTY0MTIifQ==">
  <input type="hidden" name="x-orig-authkey" value="f32326d3454f2ac7e96d3d06cdbb035152127018">
  <input type="hidden" name="x-orig-expires" value="2008687430">
  <input type="hidden" name="x-orig-sign" value="kigjEv7vGLMrzBWY8WXMV4sp/Hro=">
</form>
1
2
3
4
5
6

# 参考

  • HTTP Cookie - MDN (opens new window)
  • SameSite cookie 的说明 (opens new window)
编辑 (opens new window)
上次更新: 2024/09/01, 23:56:56
跨域
如何减少预检请求OPTIONS

← 跨域 如何减少预检请求OPTIONS→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式