建站

CSP上线步骤:先用报告模式找依赖,再收紧脚本来源

资料核对与更新:2026-10-27 · 阅读约2分钟

内容安全策略配置过急可能让网页功能失效。本文说明报告模式、资源清单和分批执行,帮助逐步减少不必要的脚本来源。

HTML源代码或代码编辑器界面
HTML源代码或代码编辑器界面;作者:Visual Studio Code : Microsoft Screenshot : Tranve ( talk · contribs );许可:Public domain。主题示意配图,非本文操作截图。 图片来源

给网站加 Content Security Policy 后,按钮没反应、图表不显示,可能是策略拦住了原有资源。CSP 需要结合实际依赖设计,不能把别人的响应头整段复制到生产站点。

先盘点资源来源

记录脚本、样式、图片、字体和接口分别来自哪里,区分本站资源与第三方服务。分析哪些是必须依赖,哪些可以删除或本地化。测试页面应覆盖登录、上传、弹窗和支付之外的普通业务流程,而不只看首页。

从报告模式开始

使用 Content-Security-Policy-Report-Only 观察违反策略的情况,此模式本身不执行阻止。配置受控的报告接收位置,注意报告可能包含页面信息,避免收集无关敏感内容。浏览器控制台也能帮助检查被限制的资源。

分批切换为执行

先修复意外依赖,再按页面或环境收紧策略。内联脚本可结合 nonce 或哈希处理,不要为了省事对所有来源放开脚本执行。每次调整后检查关键交互,确认拦截是预期行为。

CSP 能减少部分脚本注入风险,却不能替代输出转义、权限检查和安全编码。保留上一版响应头便于回退,验收重点是正常功能可用、非预期来源被限制,而非控制台完全没有任何提示。

参考资料

资料核对:2026年10月27日。本文为文档综合与操作建议,未宣称完成本站实测。

MDN 内容安全策略

OWASP CSRF 防护

本文新增价值
围绕CSP上线步骤整理适用边界、逐步操作与验收方法,区分错误现象和真正原因,避免只给出配置值而缺少验证步骤。