我有这个CSP标头:
Content-Security-Policy: default-src 'self'; script-src 'nonce-someNonce' 'strict-dynamic'; style-src 'nonce-someNonce' 'strict-dynamic'; font-src 'self' https://fonts.gstatic.com; object-src 'none'; img-src 'self' https://www.google-analytics.com; block-all-mixed-content;
除了需要丢失静态URL并向后兼容之外,还有一个问题。该站点将保护许多js库依赖项。但是,在设置了严格动态时,信任似乎并未传播到随后由根受信任的js文件创建的<style>
和<script>
标签,或受信任的根所加载的后续css / js文件。请注意,这些嵌套的标记和文件没有任何类型的nonce属性,这很可能是问题所在,尽管我的理解是只有根才需要它。
有人看到我的政策有问题吗?
答案 0 :(得分:-2)
我最近从个人经验中发现,如果我没有将'unsafe-inline'
'self'
'unsafe-eval'
添加到script-src
中,那么我的JavaScript将无法运行。
您可以检查此链接,它可能会回答您的问题:https://developer.mozilla.org/es/docs/Web/HTTP/CSP