已复制到剪贴板!

CSP Generator

通过可视化界面轻松构建、测试并导出强大的内容安全策略 (Content Security Policy)。

Google AdSense 横幅展示位

什么是 CSP?为什么您的网站需要它?

内容安全策略(Content Security Policy,简称 CSP)是一种额外的安全层,旨在检测并削弱某些类型的攻击,包括跨站脚本(XSS)和数据注入攻击。通过配置 CSP,您可以告诉浏览器哪些外部资源(脚本、样式、图片、框架等)是被允许加载和执行的。

CSP 如何抵御 XSS 攻击?

在传统的 Web 环境中,浏览器无法区分脚本是网站开发者注入的合法代码,还是攻击者利用漏洞恶意注入的代码。启用 CSP 后:

  • 限制内联脚本: 您可以禁用所有内联脚本(Inline Scripts),强制所有 JS 必须从受信任的域名加载。
  • 来源白名单: 明确指定只有来自 https://apis.google.com'self' 的脚本才能运行。
  • 禁用 eval(): 默认情况下,CSP 会禁用 eval() 等危险的字符串转代码函数。

解决“CSP 导致网站功能失效”的常见痛点

许多开发者在初次尝试部署 CSP 时,经常会遇到图片不显示、脚本报错或第三方插件失效的问题。这通常是因为策略过于严格。使用我们的工具,您可以:

  • 细粒度控制: 分别为 script-src , style-src , img-src 等指令设置不同的来源。
  • 可视化配置: 通过勾选 'unsafe-inline''unsafe-eval' (虽然不推荐,但有时是必要的过渡方案)来调试兼容性。
  • 多格式导出: 一键生成适用于 Nginx 配置文件或 HTML <meta> 标签的格式。

CSP Level 3 的新特性

现代浏览器已支持 CSP Level 3,引入了 'strict-dynamic' 等更智能的加载机制。这允许一个受信任的根脚本动态加载其他依赖脚本,极大地简化了大型应用的白名单维护工作。我们的生成器已完美适配这些高级特性。

实施建议:分步部署

不要一上来就部署最严格的策略。建议的流程是:

  1. Report-Only 模式: 使用 Content-Security-Policy-Report-Only 头部,浏览器会向您指定的 URL 发送违规报告,但不会阻止任何资源加载。
  2. 分析报告: 检查哪些合法的第三方资源被拦截了,并将其加入白名单。
  3. 正式强制: 确认没有误报后,将头部切换为 Content-Security-Policy