首页/安全/漏洞与攻击面速查/Web 安全响应头清单
Web 漏洞原理与防护55 条

Web 安全响应头清单

一组响应头能以较低改造成本提升浏览器侧安全性:CSP、HSTS、X-Content-Type-Options、X-Frame-Options 或 frame-ancestors、Referrer-Policy、Permissions-Policy;建议统一在网关层配置。

漏洞与攻击面速查安全更新于 2026-10-13

Web 安全响应头是什么

一组响应头能以很低的改造成本提升浏览器侧安全性:CSP 限制资源加载,HSTS 强制 HTTPS,X-Content-Type-Options 阻止 MIME 嗅探,X-Frame-Options 或 CSP 的 frame-ancestors 防点击劫持,Referrer-Policy 控制 Referer 泄露,Permissions-Policy 限制摄像头、定位等浏览器能力。它们最适合统一在网关或 CDN 层配置。

基本信息

下发位置网关、CDN 或应用层(建议统一到网关)
生效前提响应确实带上头,含 4xx/5xx 响应
主要作用浏览器侧纵深防御,不修复服务端漏洞
验证方式浏览器开发者工具、curl -I、在线响应头检查

Nginx 统一配置示例

Nginx 统一配置示例
add_header Content-Security-Policy "default-src 'self'" always;   # 资源白名单,先收后放
add_header X-Content-Type-Options "nosniff" always;   # 禁止浏览器猜类型
add_header X-Frame-Options "DENY" always;   # 防嵌套,旧浏览器兜底
add_header Referrer-Policy "strict-origin-when-cross-origin" always;   # 控制 Referer 外泄
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;   # 关闭不需要的浏览器能力
add_header Strict-Transport-Security "max-age=31536000" always;   # 仅在确认全站 HTTPS 后启用

头部与防御目标

头部防御目标
CSPXSS 与资源注入
HSTSSSL 剥离与降级
X-Content-Type-OptionsMIME 嗅探
X-Frame-Options / frame-ancestors点击劫持
Referrer-PolicyReferer 信息泄露
Permissions-Policy浏览器特性滥用

上线后验证

上线后验证
curl -sI https://www.example.com/ | grep -iE 'strict-transport|content-security|x-content-type|x-frame|referrer|permissions'
curl -sI https://www.example.com/not-exist-404 | grep -ic 'x-content-type-options'   # 确认错误页也带头
# 应用层与网关同时配置时会出现重复头,浏览器可能只认第一条,需去重

典型使用场景

  • 新站点上线检查:把安全头纳入上线检查单,改造成本低、收益直接
  • 等保与合规整改:安全头常作为基础加固项被核查
  • 漏洞报告缓解:XSS 修复排期长时,先用 CSP 降低利用成功率
  • 多域名统一治理:在 CDN 或网关集中下发,避免各应用各写一套
  • 排查线上问题:安全头配置错误(如过严 CSP)会导致页面白屏,需能快速回滚
安全头不能修复漏洞,只是纵深防御的一层;上线后用开发者工具或响应头检查工具确认实际下发,尤其要确认错误页与 API 响应是否也带上。
HSTS 是有状态且不易回退的配置:一旦给主域设置了较长 max-age 并加上 includeSubDomains,某个只支持 HTTP 的子域会立即不可访问,启用前先梳理全部子域。

易错点

  • Nginx add_header 在 4xx/5xx 响应默认不生效(除非加 always):错误页面上安全头缺失
  • 应用与网关重复配置同名头产生两条记录,浏览器可能只认第一条,导致策略与预期不符
  • HSTS 直接上长 max-age 加 includeSubDomains,未梳理子域会造成整片服务不可访问
  • 把 Permissions-Policy 写成旧名 Feature-Policy,新浏览器不认这条指令
  • CSP 一次性全站套用强制模式且未做观察期,页面白屏后只能紧急摘头

数据来源与参考

  • OWASP Secure Headers Project
  • MDN HTTP 头部文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌