CSP 分析器

粘贴一个 Content-Security-Policy 请求头的值,即可用通俗易懂的语言看到每条指令的解释,并按严重程度标记出每处风险——全部在你的浏览器中完成。

这款 CSP 分析器完全在你的浏览器中解析你的 Content-Security-Policy 并为其评分。你粘贴的请求头值绝不会离开你的设备,也不会有任何内容上传到 ArrayKit。

打开 CSP 请求头生成器

关于 CSP 分析器

这款 CSP 分析器接收一个 Content-Security-Policy 请求头的值,并把它拆解成一张逐指令的表格,用通俗易懂的语言解释每条指令控制什么。随后它会审计策略,找出那些会悄悄让 CSP 失效的弱点:脚本源中的 'unsafe-inline' 和 'unsafe-eval'、裸的 '*' 通配符、不安全的 http: 源、过于宽泛的 data: 方案,以及缺失的加固项,如 default-src、object-src 'none'、frame-ancestors 和 base-uri。每处发现都带有严重程度,让你一眼看出某条策略是收紧的还是有漏洞的。当你在加固网站、审查框架为你生成的策略,或调试为什么一条仅报告模式的 CSP 仍允许内联脚本时,它都很有用。一切都在你的设备上解析和评分——你粘贴的请求头绝不会被上传。

功能特性

如何使用 CSP 分析器

  1. 从你的服务器配置或响应头中复制 Content-Security-Policy 请求头的值
  2. 把它粘贴进分析器(开头的请求头名称是可选的)
  3. 查看逐指令表格,确认每条指令允许什么
  4. 从最严重的开始逐条处理发现,收紧被标记的指令

示例

输入

default-src 'self'; script-src 'self' 'unsafe-inline'; object-src 'none'

输出

HIGH  script-src  'unsafe-inline' permits inline scripts
MED   frame-ancestors  missing — page can be framed (clickjacking)
OK    object-src  'none' blocks plugins (recommended)

分析器把 unsafe-inline 标记为高,指出缺失的 frame-ancestors,并确认 object-src 'none'。

常见错误与故障排除

常见问题

CSP 分析器会检查什么?
它会解析每条指令,解释它控制什么,并标记常见弱点:脚本源中的 'unsafe-inline' 和 'unsafe-eval'、裸的 '*' 通配符、不安全的 http: 源、过于宽泛的 data: 方案,以及缺失的 default-src、object-src 'none'、frame-ancestors 和 base-uri。
为什么 'unsafe-inline' 被标记为高风险?
'unsafe-inline' 允许内联 <script> 块和事件处理器属性运行,而这正是 CSP 本应阻止的注入途径。它实际上让 script-src 形同虚设,因此分析器把它当作高严重度的发现,并建议改用 nonce 或 hash。
我需要包含「Content-Security-Policy:」请求头名称吗?
不需要。你可以粘贴完整的请求头行,或仅粘贴策略值。分析器在解析前会自动去掉开头的「Content-Security-Policy:」或「Content-Security-Policy-Report-Only:」前缀。
为什么分析器会对缺失的 frame-ancestors 发出警告?
没有 frame-ancestors,任何网站都能把你的页面嵌入 iframe,从而实施点击劫持。frame-ancestors 是 X-Frame-Options 的现代替代品,因此分析器建议添加 frame-ancestors 'self' 或 'none'。
它会校验我的策略在语法上完全正确吗?
它关注的是安全态势,而非严格的语法。它能处理浏览器接受的常见形态——分号分隔的指令、空格分隔的源——并指出有风险的源和缺失的加固项,而不是对空白字符吹毛求疵。
我粘贴的 CSP 请求头会被发送到任何地方吗?
不会。CSP 分析器完全在你的浏览器中解析并为策略评分。你粘贴的请求头值保留在你的设备上,绝不会上传到 ArrayKit。

相关工具

全部 ArrayKit 工具