每当我尝试按照文档中所述加载资源,找到here,在“使用配置和AssetsFinder”下,我一直收到以下错误:
angular-1.6.4.min.js:sourcemap:202拒绝应用内联样式 因为它违反了以下内容安全策略指令: “default-src'self'”。一个'unsafe-inline'关键字,一个哈希 ('sha256-1PxuDsPyGK6n + LZsMv0gG4lMX3i3XigG6h0CzPIjwrE =')或者一个随机数 ('nonce -...')是启用内联执行所必需的。另请注意 'style-src'没有明确设置,因此'default-src'用作a 回退。
谁能告诉我自己可能做错了什么,或者如何解决这个问题?这个错误应该发生似乎很奇怪....
编辑:
根据NBoo提供的答案,我尝试使用以下命令指定CSP标头:
Ok("Index").withHeaders(SecurityHeadersFilter.CONTENT_SECURITY_POLICY_HEADER -> "default-src 'unsafe-inline'")
我已设置play.filters.headers.allowActionSpecificHeaders = true
但现在我在其他脚本上遇到错误。
答案 0 :(得分:1)
从2.6.x版本开始,Play默认启用安全标头过滤器。因此,您的页面会受到此过滤器的阻止。看一下这个文档:
https://www.playframework.com/documentation/2.6.x/SecurityHeaders
您需要在其他标题中使用Content-Security-Policy标头。