勾选指令和 source 就生成 Content-Security-Policy,同时给响应头、meta 标签和 Nginx 写法,实时提示 unsafe-inline 风险,全程浏览器本地
- 本地处理
- 分类 开发运维
- 适合 分享前检查文件类型、大小、元数据和明显不匹配信号。
上线阶段先观察违规而不拦截
未发现高风险 source。
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'">
frame-ancestors、report-uri、sandbox 只能用响应头,放进 meta 不生效。
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'" always;
这个工具能做什么
一个内容安全策略(CSP)生成器,靠勾选而不是靠背语法来拼出响应头。 在每条指令上切换 source('self'、'none'、'unsafe-inline'、'unsafe-eval'、 https:、data:),把自己的 CDN 或 API 域名粘进去,策略就实时拼出来。 工具一次给出三种可直接用的形式:原始 Content-Security-Policy 响应头一行、 HTML 的 meta http-equiv 标签、Nginx 的 add_header 指令,每种都能一键复制。 三个预设覆盖常见起点:只允许同源的严格锁定、放行 jsdelivr 和 unpkg 与 Google 字体的宽松配置、上线前先观察违规的仅上报策略。一旦某个选择削弱了 策略,比如给 script-src 开了 'unsafe-inline' 或者用了裸 https: 通配符, 旁边就弹出提示,说清为什么危险、该换成什么。全部在浏览器里运算,不上传 任何东西,生成的策略还能通过分享链接原样还原。
工具细节
- 输入
- 文件 + 文本
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
CSP 生成器 适合怎么用
适合在上传、交付、归档、客服排查前使用,也适合任何文件离开本机前的本地复核。
适合文件任务
- 分享前检查文件类型、大小、元数据和明显不匹配信号。
- 上传、归档、接收或审核前整理混合文件夹。
- 敏感文件先留在浏览器里处理,不用交给账号型服务。
文件检查项
- 不要只凭扩展名判断真实文件类型。
- 文件发给客户、供应商或公开页面前,先看元数据。
- 复制、转换或导出结果确认前,保留原文件。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
给新应用发第一版 CSP
你要上线一个单页应用,想在发布前先有一条基线策略。从严格预设起步, 把 API 源加到 connect-src、把 CDN 加到 script-src,再把响应头一行 复制进服务器配置。不到一分钟你就有一条能用的 default-src 'self' 策略,而不是手敲指令、到生产环境才发现拼错了。
给第三方挂件开白名单
市场刚加了一段分析代码和一个聊天挂件,控制台全是 CSP 违规。把挂件 的域名粘到对应指令里(JS 进 script-src、它的 API 进 connect-src、 嵌 iframe 的话进 frame-src),重新生成,推上更新后的响应头。实时 提示会拦着你,别为了把报错消掉就把 script-src 放宽成裸 https: 通配符。
分阶段做仅上报上线
你接手一个到处是内联脚本的老站,不敢冒险搞挂它。用仅上报预设发出 Content-Security-Policy-Report-Only 头,接上一个上报端点,先收一周 违规。把每个合法 source 在这里补进策略,等上报安静下来,再把头名字 切成强制版本。
给静态托管生成对的写法
你的站点托管在设不了响应头的静态平台上,需要的是 meta 标签那种写法。 把策略拼好,复制 <meta http-equiv> 输出,放进文档 head。meta 输出 下面那行提示会告诉你 frame-ancestors 在那里不生效,所以点击劫持你得 另想办法挡。
常见踩坑
为了消掉控制台报错就把 'unsafe-inline' 留在 script-src 上。这等于把 CSP 想堵的 XSS 洞重新打开。该做的是把内联代码挪进文件,或者用每次请求的 nonce、sha256 哈希来授权。
忘了写 default-src,没列出的指令就悄悄全放开。只写 script-src 'self' 的策略,图片、字体、连接照样能从任何地方加载。default-src 'self' 一定要设成基线,再按指令逐条覆盖。
把 frame-ancestors 或 report-uri 放进 meta 标签。这些是仅响应头的指令,浏览器在 meta 里会直接忽略。基本 fetch 指令以外的东西,都要用响应头那种输出。
隐私说明
整个生成器都是在浏览器标签页里跑的纯 JavaScript。指令选择、自定义域名和 生成的策略都不离开页面,也不统计你拼了什么。唯一要知道的:分享链接会把 策略写进查询字符串,所以把链接粘到聊天里,这些指令会留在对方服务器的 访问日志里。CSP 本身不算机密,但如果它暴露了你不想外露的内部资源域, 就用复制按钮,别分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。