跳至主要内容
短.be

CSP

Content Security Policy 的缩写,通过 HTTP 头限制页面可以加载的资源来源,防止 XSS 等攻击。

2026年8月11日 · 约 1 分钟阅读

安全

CSP (Content Security Policy) 是一种 HTTP 响应头,用来限制 Web 页面可以加载的资源 (脚本、样式表、图片、字体等) 的来源。作为能够大幅减轻 XSS 攻击危害的安全机制,它得到了 OWASP 的推荐。

CSP 的基本原理,是把「本页面只允许加载来自这些来源的资源」这样一份白名单告知浏览器。例如设置 `Content-Security-Policy: script-src 'self' https://cdn.example.com` 之后,就只允许执行来自本站和 `cdn.example.com` 的脚本,攻击者注入的内联脚本会被拦截。

引入 CSP 时最费力的,是应对既有的内联脚本和内联样式。CSP 默认禁止内联代码的执行,因此 `onclick` 属性以及 <script> 标签内的代码都会失效。应对办法有两种:一是使用 nonce 也就是一次性令牌,二是使用 hash 也就是脚本的哈希值。nonce 方式由服务器为每个请求生成一个随机值,并在脚本标签和 CSP 响应头两处设置相同的值。

安全的引入步骤是:先用 `Content-Security-Policy-Report-Only` 响应头,以「只报告违规而不拦截」的模式运行,分析报告之后再正式应用到生产环境。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

设置 CSP 可以防止哪些攻击?
可以防止 XSS(跨站脚本攻击)、数据注入、点击劫持等攻击。通过限制只加载来自允许来源的资源来实现。
CSP 的设置方法是什么?
通过 HTTP 响应头(Content-Security-Policy)或 HTML 的 <meta> 标签设置。建议先用 Content-Security-Policy-Report-Only 确认影响后再正式应用。

把知识用到真实链接上

免费缩短网址