我一直在阅读有关使用带有随机数的内联脚本(数字仅使用一次)的 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>
require('crypto')
吗?我的解决方案是正确的
我们为每个 HTTP 请求创建一个
nonce
,我们不应该为每个脚本创建一个。所以,我最初的解决方案是正确的。 CSP 规则进入 HTTP 层,因此每个 HTTP 请求都有一个随机数。
这是一个创建 React + Webpack 应用程序以使用 Node 和 Nginx 服务器在每次页面刷新时生成 CSP 随机数的示例。