【问题标题】:How to use nonce in CSP如何在 CSP 中使用 nonce
【发布时间】:2018-04-24 09:11:23
【问题描述】:

我一直在阅读有关使用 nonce 内联脚本的 CSP 文档(数字仅使用一次),但我仍然没有完全理解。

  • 我可以对不同的内联脚本使用相同的随机数吗?也就是说,我可以这样做吗?

HTTP 层:

Content-Security-Policy: script-src 'nonce-2726c7f26c'

在 HTML 中内联的 JavaScript

<script nonce="2726c7f26c">
  var inline = 1;
</script>
<script nonce="2726c7f26c">
  var inline2 = 2;
</script>
  • 你能推荐我任何 node.js 函数来生成这样的随机数吗?我应该使用require('crypto')吗?

【问题讨论】:

    标签: node.js content-security-policy


    【解决方案1】:

    我的解决方案是正确的

    我们为每个 HTTP 请求创建一个 nonce,我们不应该为每个脚本创建一个。所以,我最初的解决方案是正确的。 CSP 规则进入 HTTP 层,因此每个 HTTP 请求一个随机数。

    【讨论】:

    • 即使现在看到许多解释 CSP nonce 的网页,也非常了不起,但没有一个表明您可以将一个 nonce 用于多个脚本。 Mozilla、Google 等都没有说清楚。我完全误认为每个脚本都需要一个新的随机数
    • 我也在寻找一个包含多个内联脚本的随机数的解释。谢天谢地,你发布了这个节省了我证明这一点的时间。
    猜你喜欢
    • 2022-01-04
    • 2021-11-06
    • 1970-01-01
    • 2023-01-15
    • 2021-12-24
    • 2020-05-25
    • 2019-12-14
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多