开发者 / 安全政策
CSP生成器:构建和分析内容安全策略
使用来源列表、nonce和hash占位符、报告指令及常用预设,创建Content-Security-Policy响应头。查看警告,并复制HTTP、meta、nginx、Apache或静态_headers输出。
CSP生成器:构建和分析内容安全策略: 在本地构建策略,并标记unsafe-inline、unsafe-eval、范围过宽的来源、重复指令和部署占位符。解析器会保留未知指令;对于重复指令,使用第一次出现的指令。工具一次只分析一个策略,不会加载受保护的页面。 完全在浏览器中本地运行,文件不会上传到服务器。
- 类别
- 开发者工具
- 使用次数
- 在浏览器中
- 费用
- 免费·无需注册
- 可用性
- 可直接使用
完全在浏览器中运行
预设会替换当前策略。请先使用仅报告标头进行测试。Nonce占位符需要与服务器集成;静态标头无法生成新的nonce。
script-src · strict-dynamic需要有效的nonce或hash,并会在支持它的浏览器中覆盖主机允许列表。
script-src · 部署前请替换nonce和hash占位符。为每个响应生成新的不可预测nonce。
元策略无法强制执行frame-ancestors或sandbox、使用report-uri,或传递仅报告策略。此处会省略报告指令。
这是语法和风险审查,不是安全审计。未知或格式错误的源表达式需要在浏览器中测试。其他策略会一并执行,不能放宽较早的策略。生成的_headers文件用于静态响应;动态响应需要单独的标头配置。
策略语法与传递
W3C内容安全策略第3级:https://www.w3.org/TR/CSP3/。指令之间以分号分隔,值之间以空白字符分隔。通过Meta传递的功能少于HTTP响应标头。
Nonce、哈希与部署
MDN内容安全策略指南:https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP。strict-dynamic会将信任从经过Nonce或哈希授权的脚本转移到该脚本加载的脚本,在支持的浏览器中覆盖主机允许列表。请审核受信任脚本的行为,并测试最终策略。
使用方法
- 选择一个预设,或粘贴已有策略。
- 启用指令并编辑以空格分隔的值,然后查看警告。
- 选择输出格式,复制结果,并针对网站所需资源进行测试。
隐私与限制
你的策略会留在浏览器中。不会联系任何网站。
相关工具
常见问题
我可以直接使用nonce占位符吗?
不可以。请为每个响应生成不可预测的nonce,并将匹配的值放在受信任的脚本上。固定的静态响应头无法生成nonce。请将hash占位符替换为目标内容的实际hash。
meta策略不能执行哪些功能?
它无法执行frame-ancestors或sandbox,不能使用report-uri,也不能传递仅报告策略。生成的meta输出会省略报告指令,并且必须尽早出现在文档head中。
report-to会创建报告端点吗?
不会。它只会指定一个组,该组还需要单独的Reporting-Endpoints响应头。report-uri较旧;浏览器支持情况各不相同。本工具不会发送报告。
这些预设能保证适用于我的网站吗?
不能。请先通过仅报告HTTP方式传递策略,并检查网站所需的资源。已有策略会与新策略叠加;第二个策略无法放宽更早策略中的限制。静态_headers传递不涵盖动态生成的响应。
免费工具·使用在浏览器中次·无需账户