在 csp 策略中设置随机数的正确程序是什么?
What is the right procedure to set a nonce in the csp policy?
我正在尝试在 csp 策略中设置随机数,但它没有按预期工作。
以下代码是我目前用于测试目的的代码:
server.js
express.use(function(req, res, next) {
res.set({
"Content-Security-Policy":"script-src 'self' 'nonce-random1'"
});
return next();
});
index.html
<script nonce="random1" type="text/javascript" src="/script1.js">
</script>
我在浏览器的控制台中收到此错误:
拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self' 'nonce-random1'...
我尝试添加源 /script1.js,就好像它是用于测试目的的域一样:
express.use(function(req, res, next) {
res.set({
"Content-Security-Policy":"script-src 'self' /script1.js"
});
return next();
});
显然它不起作用,我得到了同样的错误。
我试着查看了文档,语法应该是正确的。我尝试查看类似的问题或相关文章,但没有找到任何有用的信息。
我想避免使用不安全内联。
将来我将为每个请求实现一次性哈希作为随机数。
有人知道为什么 nonce 失败了吗?
Refused to execute inline event handler
表示您有事件处理程序内置标记,例如 <div onclick='handler()'>
或 <body onload='some_javascript_here'>
等
你的<script nonce='random1'>...</script>
被执行了,你可以往里面插入console.log('I am done')
来保证。
将内联事件处理程序替换为 addEventListener() 或在合适的情况下使用 jQuery。
"Content-Security-Policy":"script-src 'self' /script1.js"
是 wrong,/script1.js
指令中不允许使用相对 URL。
您的第一个 CSP "Content-Security-Policy":"script-src 'self' 'nonce-random1'"
是正确的。
我正在尝试在 csp 策略中设置随机数,但它没有按预期工作。
以下代码是我目前用于测试目的的代码:
server.js
express.use(function(req, res, next) {
res.set({
"Content-Security-Policy":"script-src 'self' 'nonce-random1'"
});
return next();
});
index.html
<script nonce="random1" type="text/javascript" src="/script1.js">
</script>
我在浏览器的控制台中收到此错误: 拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self' 'nonce-random1'...
我尝试添加源 /script1.js,就好像它是用于测试目的的域一样:
express.use(function(req, res, next) {
res.set({
"Content-Security-Policy":"script-src 'self' /script1.js"
});
return next();
});
显然它不起作用,我得到了同样的错误。
我试着查看了文档,语法应该是正确的。我尝试查看类似的问题或相关文章,但没有找到任何有用的信息。
我想避免使用不安全内联。 将来我将为每个请求实现一次性哈希作为随机数。
有人知道为什么 nonce 失败了吗?
Refused to execute inline event handler
表示您有事件处理程序内置标记,例如 <div onclick='handler()'>
或 <body onload='some_javascript_here'>
等
你的<script nonce='random1'>...</script>
被执行了,你可以往里面插入console.log('I am done')
来保证。
将内联事件处理程序替换为 addEventListener() 或在合适的情况下使用 jQuery。
"Content-Security-Policy":"script-src 'self' /script1.js"
是 wrong,/script1.js
指令中不允许使用相对 URL。
您的第一个 CSP "Content-Security-Policy":"script-src 'self' 'nonce-random1'"
是正确的。