CSP(内容安全策略) 是一个额外的安全层,有助于检测和缓解某些类型的攻击,包括:
- 内容/代码注入
- 跨站脚本(XSS)
- 嵌入恶意资源
- 恶意 iframe(点击劫持)
要了解有关配置 CSP 的更多信息,请参阅 Mozilla 文档 ↗。
Cloudflare 的 CDN 与 CSP 兼容。
Cloudflare 不会:
- 修改来自源 Web 服务器的 CSP 标头(使用 Zaraz 时除外,以确保 Zaraz 脚本始终运行 ↗)。
- 要求更改第一方或第三方内容的可接受来源。
- 修改 URL(除了添加
/cdn-cgi/端点和Cloudflare Fonts 重写 Google Fonts URL)。 - 干扰 CSP 中指定的位置。
如果您需要更改或添加 CSP 标头,可以使用某些 Cloudflare 产品:
- 如果您的网站通过 Cloudflare 代理,可以使用响应标头转换规则替换或添加 CSP 标头。
- 如果您的网站使用 Cloudflare Pages 托管,可以设置
_headers文件以修改或添加 CSP 标头。
但是,要使用某些 Cloudflare 功能,您可能需要更新 CSP 中的标头:
| 功能 | 更新的标头 |
|---|---|
| Rocket Loader | script-src 'self' ajax.cloudflare.com; |
| Scrape Shield | script-src 'self' 'unsafe-inline' |
| Web Analytics | script-src static.cloudflareinsights.com; connect-src cloudflareinsights.com |
| Bot products | 请参阅 JavaScript 检测与 CSP。 |
| Client-side security(原 Page Shield) | 请参阅 CSP 标头格式。 |
| Zaraz | 无需更新(详情 ↗)。 |
| Turnstile | 请参阅 Turnstile CSP。 |