响应头约束浏览器行为
安全响应头不改变服务端逻辑,而是收紧浏览器对页面的行为约束:禁止 MIME 类型嗅探、限制页面被嵌套、约束资源加载来源、控制 Referer 泄露。它们在浏览器侧生效,是内容嗅探、点击劫持、跨站脚本等前端类风险的低成本缓解手段。
注入位置要统一
响应头既可以在源站注入,也可以在 WAF 上统一添加。两处同时设置同一响应头时,容易出现重复或取值不一致,浏览器行为随之变得难以预期。选一处作为唯一注入点,另一处避免覆盖源站已有策略。
基本信息
| 常用头 | CSP、X-Content-Type-Options、Referrer-Policy、X-Frame-Options |
|---|---|
| 注入位置 | WAF 统一注入或源站注入,只选一处为主 |
| 注意点 | 避免多处重复设置导致取值不一致 |
| 验证方式 | 用浏览器开发者工具或响应头检查工具确认实际值 |
典型使用场景
- 前端安全基线加固
- 审计要求证明已配置浏览器安全策略
- 页面被第三方站点嵌套,需要限制框架来源
- 静态资源被按错误类型解析,需要禁止 MIME 嗅探
- 跨站跳转时不想泄露完整来源地址
- 引入外部资源前收窄资源加载范围
示例组合
示例组合
add_header X-Content-Type-Options nosniff always;
add_header Referrer-Policy strict-origin-when-cross-origin always;
add_header X-Frame-Options SAMEORIGIN always;
# CSP 涉及前端资源范围,先在报告模式下确认影响再收紧响应头与作用
| 响应头 | 作用 |
|---|---|
| X-Content-Type-Options | 禁止浏览器猜测资源类型,防内容嗅探 |
| X-Frame-Options | 限制页面被其他站点以框架方式嵌套 |
| Referrer-Policy | 控制跳转时携带的来源信息粒度 |
| CSP | 限定脚本与资源来源,缓解 XSS 与注入 |
响应头在 WAF 注入时要避免覆盖源站已有策略:同名头重复出现时浏览器取值行为与预期可能不同。
CSP 直接上严格策略会让含内联脚本的页面功能失效,建议先以报告模式收集违规,再逐步收紧。