📜  清单 3 内容安全策略 - Javascript (1)

📅  最后修改于: 2023-12-03 15:27:02.397000             🧑  作者: Mango

清单 3 内容安全策略 - Javascript

什么是内容安全策略?

内容安全策略(Content Security Policy,CSP)是一种安全机制,用于减轻和缓解跨站点脚本(XSS)、数据注入攻击和其他代码注入攻击等常见攻击形式所造成的影响。CSP 通过白名单模式控制页面的内容加载,可以限制页面内容的来源,并防止恶意脚本的运行,极大地提高了页面的安全性。

Javascript 中的 CSP 支持
CSP的语法

CSP 通过响应头或 meta 标签来进行配置。例如,以下代码是将 CSP 配置为只允许加载同一源(同一站点)内的脚本:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'">

上面的代码中,default-src 命令指定了默认的源策略,'self' 指定的是相同源,也就是只允许从同一站点加载页面内容。

CSP 还支持以下命令:

  • child-src:为 iframe、frame、worker、embed、applet 元素配置策略
  • connect-src:配置XHR(XMLHttpRequest)请求的源策略
  • default-src:默认的请求策略,如果未显式指定某种类型的请求策略,则使用此策略
  • font-src:为字体配置策略
  • img-src:为图像配置策略
  • manifest-src:为应用程序清单文件配置策略
  • media-src:为音频和视频配置策略
  • object-src:为 object 元素上的资源配置策略
  • script-src:为脚本配置策略
  • style-src:为样式配置策略
  • worker-src:为 Web worker 配置策略
CSP 的兼容性

CSP 的兼容性在不同浏览器中有所差异。在大部分浏览器中,支持响应头的方式进行 CSP 配置,但在 IE、Safari 等浏览器中,只支持 meta 标签的方式进行配置,并且有着不同的语法格式。

总结

CSP 是一种强大的安全机制,用于减轻和缓解跨站点脚本(XSS)等攻击的影响。在Javascript中使用CSP,可以为我们的应用程序提供更安全的保障。在配置 CSP 时,我们需要充分考虑浏览器的兼容性问题,并进行针对性的配置。