如果在大型应用程序中,我们在多个区域使用类似下面的东西怎么办
<button type="button" class="btn btn-primary" onclick="func1()">test</button>
<script>
function somefunction(){
//some function task
}
</script>
几个疑问:
1. 对于像这样的内联脚本,我们可以使用nonce还是hash吗?
或者什么时候选择nonce、什么时候选择hash需要考虑一些因素?
2.对于内联事件,有一种场景是我们无法在应用程序中到处都改为addeventlistener。那么,如果我们为内联脚本实现哈希/随机数并忽略具有不安全哈希的内联事件,可以吗?基本上下面的组合将允许脚本和事件都正确吗?
CSP:脚本 src 'nonce' '不安全哈希'
CSP:script-src 'sha-something' 'unsafe-hashes'
注意:我们不考虑使用“unsafe-inline”
内联事件处理程序不是 nonceable 元素,这只会留下 hash + 'unsafe-hashes' 的可能性,但您需要检查您想要支持的浏览器是否支持 'unsafe-hashes'。