分类: 开发工具

CSP 生成器

站方自主规划没找到想要的工具?

根据指令生成 Content-Security-Policy 响应头

为每一条 Content-Security-Policy 指令——default-src、script-src、style-src 等——设置来源列表,即可得到完整的响应头值,以及一张说明每条指令具体允许什么的表格。全部在你的浏览器本地构建。

指令来源
default-src'self'
script-src'self'
style-src'self' 'unsafe-inline'
img-src'self' data:
font-src'self'
connect-src'self'
frame-ancestors'none'
object-src'none'
base-uri'self'
form-action'self'
upgrade-insecure-requests
Content-Security-Policy 响应头
default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;

本页的所有处理都在浏览器中完成,不会上传任何内容。

这个工具能做什么

Content-Security-Policy 响应头告诉浏览器页面允许从哪些来源加载脚本、样式、图片等资源,是防御跨站脚本攻击最有效的手段之一。每条指令接受一个以空格分隔的来源列表,例如 'self'、'unsafe-inline'、https: 或具体域名,手写这种语法很容易出错。这个工具让你按指令逐项填写来源,并把同一份策略以表格形式展示出来,方便你在上线前确认自己到底允许了什么。

使用方法

  1. 为需要限制的每条指令设置来源列表。
  2. 按需开启 upgrade-insecure-requests 或 block-all-mixed-content。
  3. 查看指令表格,然后复制生成的响应头值。
  4. 把它作为 Content-Security-Policy 响应头发送,或者先用 Content-Security-Policy-Report-Only 进行测试。

隐私说明

本工具完全在你的浏览器中运行。输入的内容不会被上传、保存或分享,关闭标签页即随之消失。

常见问题

指令留空是什么意思?
这里留空的指令会在响应头中完全省略,通常会回退到 default-src。建议先把 default-src 设置成一个合理的基线,比如 'self'。
应该先用 Report-Only 测试吗?
建议这样做——把同样的值作为 Content-Security-Policy-Report-Only 发送,可以在浏览器控制台或通过 report-uri 看到策略原本会拦截什么,而不会在调优期间就破坏页面。
策略会被发送到别处去构建吗?
不会。响应头字符串完全根据你的输入在浏览器中组装。