在CSP Web应用程序中实施CSP

时间:2018-05-07 21:49:13

标签: content-security-policy

我们正在尝试将CS​​P实现到我们的一个站点中,虽然我们知道如何允许或不允许脚本,但我们仍然对nonce / sha *部分感到困惑。我们有外部脚本,例如bootstrap和jquery,它们带有integrity =“sha *”,并且应该避免使用内联脚本或样式。内联的所有内容都应该重构为外部文件。

我们的问题是,我们是否为我们网站中的每个js或css文件创建了一个sha * key / nonce- *(不是外部的),或者只是在内容中的script-src / style-src之后添加'self' - 安全政策是否足够?

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:2)

您不需要链接JavaScript文件的随机数;他们授权内联脚本标签。 “self”(或URL)授权链接文件。您需要做的清理是删除HTML中的“onclick”属性。 SHA哈希用于验证链接文件的完整性。

所以:

  • 清理内联“onclick”(和类似的)和“样式”属性。
  • 将nonce用于内联脚本(和样式)标记。
  • 对来自外部源的链接脚本使用SHA哈希
相关问题