使用 nonce 或 sha-256 是否允许执行内联事件处理程序?
Does using nonce or sha-256 allow executing inline event handlers?
我对内容安全策略有点怀疑...我的渲染文件 pug 由内联事件处理程序组成,如 onclick='someFunction()'
...在我安装头盔以添加额外的 headers 后它被阻止我的内联事件处理程序违反了 csp.. 经过一些研究,我开始知道要允许内联脚本,我们必须使用 unasafe-inline、nonce 或 hash..所以我把 nonce 放在 pug 文件的脚本标签中,比如script(src="source", nonce='123456')
并在头盔中间件中将 content-security-policies script-src 设置为 'nonce-123456'..但我仍然无法执行内联事件处理程序..我的问题是使用 nonce 或 sha-256 只允许像 <script nonce='123456'> someFunction() </script>
这样的 linline 脚本可以工作,或者它将允许内联脚本和内联事件处理程序执行??..我知道我可以使用 addEventListener() 而不是内联事件处理程序..但是有任何方法可以使用内联事件处理程序??
它只允许执行脚本元素。
onclick
属性将是不同的来源。
‘unsafe-inline'
将允许内联事件处理程序属性,但极易受到 XSS 的攻击,无法通过 nonce 进行缓解。
使用addEventListener
.
我对内容安全策略有点怀疑...我的渲染文件 pug 由内联事件处理程序组成,如 onclick='someFunction()'
...在我安装头盔以添加额外的 headers 后它被阻止我的内联事件处理程序违反了 csp.. 经过一些研究,我开始知道要允许内联脚本,我们必须使用 unasafe-inline、nonce 或 hash..所以我把 nonce 放在 pug 文件的脚本标签中,比如script(src="source", nonce='123456')
并在头盔中间件中将 content-security-policies script-src 设置为 'nonce-123456'..但我仍然无法执行内联事件处理程序..我的问题是使用 nonce 或 sha-256 只允许像 <script nonce='123456'> someFunction() </script>
这样的 linline 脚本可以工作,或者它将允许内联脚本和内联事件处理程序执行??..我知道我可以使用 addEventListener() 而不是内联事件处理程序..但是有任何方法可以使用内联事件处理程序??
它只允许执行脚本元素。
onclick
属性将是不同的来源。
‘unsafe-inline'
将允许内联事件处理程序属性,但极易受到 XSS 的攻击,无法通过 nonce 进行缓解。
使用addEventListener
.