Content-Security-Policy 构建器
通过逐指令表单组装 Content-Security-Policy 头。每个指令接受以空格分隔的源列表('self'、'none'、'unsafe-inline' 等关键字,或方案/主机源)。该工具会标记包含 unsafe-inline、unsafe-eval 或通配符的策略,从输出中省略空指令,并同时生成响应头形式与等效的 <meta> 标签。在向生产环境推出新策略时切换到 report-only 模式。
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; connect-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; connect-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'">
空指令回退到 default-src。先设置 default-src 'self',再单独收紧具体源。
使用方法
- 从预设开始(Strict 全部锁定为 'self',Relaxed 允许内联与通配符,API-only 阻止导航)。
- 编辑每个指令 — 留空表示丢弃。
- 发布新策略时开启 report-only:违规会被报告但不被阻止。
常见问题
- 应使用响应头还是 <meta> 标签?
- 首选 HTTP 响应头。<meta> 形式在你无法编辑响应头(静态托管等)时方便,但它无法定义 frame-ancestors 或 report-uri/report-to,因此严格来说能力更弱。
- 为什么通配符会给警告?
- 源列表中的 * 匹配任何 URL,完全削弱策略。请将源固定到特定来源或使用 'self'——如果确实需要第三方脚本,请显式列出。
相关工具
CSP 哈希生成器
计算让 Content-Security-Policy 把内联 <script> 或 <style> 加入白名单所需的 sha256 / sha384 / sha512 base64 哈希。
HSTS 头构建器
构建 Strict-Transport-Security 头 — max-age、includeSubDomains、preload — 并实时检查 preload 列表资格。
SPF 记录构建器
由机制、IP 和 include 构建 Sender Policy Framework TXT 记录 —— 带实时 DNS 查询计数和警告。
Permissions-Policy 头构建器
构建 `Permissions-Policy` 响应头 —— 按源允许列表切换摄像头、麦克风、地理位置、支付、全屏和 20+ 其他浏览器功能。
Referrer-Policy 头构建器
选择 Referrer-Policy 值,查看出站请求会发送什么 `Referer` 头 —— 同源、跨源 HTTPS、HTTPS→HTTP 降级。
/.well-known/* URI 参考
IANA 注册的 well-known URI 可搜索目录 — `security.txt`、`openid-configuration`、`apple-app-site-association`、`acme-challenge` 加 30+ 更多,附 RFC 参考和用例。