如何在CSP中使用nonce

时间:2018-04-24 09:11:23

标签: node.js content-security-policy

我一直在阅读关于使用带有nonce的内联脚本的CSP文档(Number只使用一次),但我还是没有完全得到它。

  • 我可以将同一个nonce用于不同的内联脚本吗?也就是说,我可以这样做吗?

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函数来生成这样的nonce吗?我可以使用require('crypto')吗?

1 个答案:

答案 0 :(得分:6)

我的解决方案是正确的

我们为每个HTTP请求创建一个<reference id="Simple" interface="org.apache.camel.spi.ComponentResolver" timeout="30000"/> ,我们不应该为每个脚本创建一个。所以,我最初的解决方案是正确的。 CSP规则进入HTTP层,因此每个HTTP请求都有一个nonce。