CSP 资源评估器 — 针对 CSP 标头测试 URL
粘贴 Content-Security-Policy 标头值,并测试特定的资源 URL 或内联脚本/样式块是否会被允许或被阻止,以及匹配的源表达式和弱点报告。
输入
要评估的 Content-Security-Policy(或 Content-Security-Policy-Report-Only)标头值。
提供此 CSP 的来源 — 需要解析 'self' 和无方案的主机源。如果不测试这些,请留空。
输出
在此标头中发现的 CSP 弱点
| Directive | Issue | Severity |
|---|---|---|
| No data yet | ||
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/csp-resource-evaluator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"cspHeader": "default-src 'self'; script-src 'self' https://cd…",
"pageOrigin": "",
"checkType": "url",
"resourceKind": "script",
"resourceUrl": "https://cdn.example.com/app.js",
"inlineContent": ""
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `csp-resource-evaluator` tool (CSP Resource Evaluator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/csp-resource-evaluator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="CSP 资源评估器 — 针对 CSP 标头测试 URL — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。
| 每次 API/MCP 调用费用 | 5 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
此工具的作用
你已经有一个 Content-Security-Policy 标头 — 可能来自服务器配置,也可能是从实时网站的响应标头中提取的 — 你需要知道一件具体的事情: 这个资源真的会在它下面加载吗? Content-Security-Policy 语法在单个标头值中包装了许多细微差别: 通配符主机、方案源、default-src 回退链以及故意不从 default-src 继承的指令,如 frame-ancestors 和 base-uri。通过眼睛阅读策略并猜测 https://cdn.example.com/app.js 是否与 script-src 'self' *.example.com:* 匹配,这正是很容易以微妙方式出错的事情 — 一个错过的通配符规则,一个你期望静默加载的脚本在生产中被阻止,或更糟糕的是,一个你期望被静默阻止的脚本不被阻止。
粘贴标头值,选择你正在测试的内容 — 外部资源 URL 或内联 <script>/<style> 内容块 — 此工具对它运行实际的 CSP Level 3 源匹配算法: 检查了哪个指令(包括任何 default-src 回退)、哪个确切的源表达式匹配(或为什么没有匹配)、以及 — 对于内联内容 — 将允许该确切内容的哈希源 sha256-。它还在单独的表中标记标头本身的常见弱点('unsafe-inline'、'unsafe-eval'、裸露的 * 主机、缺失的 object-src/base-uri/frame-ancestors)。
如何使用
- 粘贴
Content-Security-Policy(或Content-Security-Policy-Report-Only)标头值。 - 可以选择填写页面来源 — 此策略的来源(例如
https://example.com)— 针对真实来源解析'self'和任何无方案的主机源是必需的。如果你只是测试不依赖于它的源,请留空。 - 选择要测试的内容: 外部资源 URL(选择其资源类型 — 脚本、样式表、图像、字体、fetch/XHR、框架等)或内联脚本/样式内容块。
- 阅读裁定、实际检查的指令以及哪个源表达式匹配(或为什么没有匹配)。
日常常见问题解答
为什么说"需要页面来源"而不是允许或阻止?
策略包括 'self',但未输入页面来源,因此没有任何东西可以将资源的来源与之进行比较。填写提供 CSP 的来源并重新检查。
为什么说"需要 nonce 匹配"对于我的内联脚本?
策略允许一个 nonce-* 源,但 nonce 是在每个页面加载时生成的一次性值 — 此工具无法知道实时页面实际上呈现到 nonce="…" 属性中的内容。这是一个真实的"也许",而不是一个错误: 将匹配的 nonce 添加到标签中,它将加载。
此工具是否查看我的实际网站或将我的 CSP 发送到某个地方?
不 — 解析和匹配都完全在你的浏览器中运行。你粘贴在这里的任何东西都不会发送到服务器。
我只需要构建 CSP,而不是测试一个
使用 CSP 生成器 从结构化指令字段组合策略。如需完整评分涵盖响应应携带的所有安全标头(不仅仅是 CSP),请参阅安全标头检查器。