---

title: "Fetch Metadata 防护:Sec-Fetch 系列头的资源隔离策略"

keywords:

  • Sec-Fetch-Site
  • Sec-Fetch-Mode
  • Sec-Fetch-Dest
  • 资源隔离
  • CSRF
  • XSSI

description: "总结 Fetch Metadata(Sec-Fetch-*)请求头的意义与用法,给出在服务端实施资源隔离策略的工程建议,作为 CSRF/XSSI 的防御补强。"

categories:

  • 文章资讯
  • 编程技术

---

概述

许多跨站攻击(CSRF、XSSI、XS-Leaks、定时侧信道)依赖从攻击者控制的文档向受害站点发起请求。Fetch Metadata 提供请求上下文(来源关系、模式与目标),便于服务端拒绝非预期上下文的访问,形成“资源隔离策略”。

关键头

  • Sec-Fetch-Site:表明请求发起方与目标的关系(same-originsame-sitecross-site);可据此拒绝跨站访问非导航型端点[参考5,3]。
  • Sec-Fetch-Mode:请求模式(corsno-corssame-origin);辅助判定是否为跨源资源加载[参考4,2]。
  • Sec-Fetch-Dest:目标类型(documentimagescript 等);防止被不当嵌入(如脚本/iframe)[参考2,4]。

工程建议

  • 为所有端点实施资源隔离:允许来自本应用与直接导航的请求,拒绝 cross-site 非导航请求;对缺失头的旧 UA 回退到 Origin/Referer 或 CSRF Token 校验[参考1,3]。
  • 结合 Cross-Origin-Resource-Policy (CORP)SameSite Cookie、CSRF Token,实现多层防护。

参考与验证

  • [参考1]OWASP 讨论:在 CSRF 防护中纳入 Fetch Metadata 作为防御补强建议:https://github.com/OWASP/CheatSheetSeries/issues/1803
  • [参考2]文章:Sec-Fetch-* 的实现与中间件示例(CSRF/XSSI 防护):https://www.cyberchief.ai/2025/05/sec-fetch-site-security-headers.html
  • [参考3]web.dev:Fetch Metadata 与资源隔离策略的指导与示例:https://web.dev/articles/fetch-metadata
  • [参考4]用例:Sec-Fetch-Mode/Dest 行为与安全意义说明:https://modheader.com/usecases/headers/sec-fetch-mode
  • [参考5]W3C 提案:Fetch Metadata 草案与安全目标说明:https://github.com/w3c/webappsec-fetch-metadata

关键词校验

关键词与 Fetch Metadata 头与防护策略一致。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部