0

我在我的網站中整合了跟蹤觀衆的Quantcast腳本。當頁面在瀏覽器中加載時,我得到下面的錯誤。我知道這是一個以base64編碼的腳本,但是如何讓它使用CSP和CORS頭文件執行?Quantcast的CSP設置

拒絕加載腳本 「數據:應用程序/ JavaScript的; BASE64,ZnVuY3Rpb24gcXVhbnRzZXJ2ZSgpe30 =」 因爲它違反了以下內容安全策略指令: 「腳本的src‘自我’'不安全內聯「不安全-eval'* .cloudflare.com * .quantserve.com「。

這裏是我的頭:

headers { 
    contentSecurityPolicy = "default-src 'self' *.cloudflare.com *.quantserve.com;" 
    contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" img-src 'self' *.fbcdn.net *.twimg.com *.googleusercontent.com *.xingassets.com *.vk.com *.yimg.com secure.gravatar.com *.stuffpoint.com *.pixabay.com;" 
    contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" style-src 'self' 'unsafe-inline' cdnjs.cloudflare.com maxcdn.bootstrapcdn.com cdn.jsdelivr.net fonts.googleapis.com edge.quantserve.com;;" 
    contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" font-src 'self' fonts.gstatic.com fonts.googleapis.com cdnjs.cloudflare.com;" 
    contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" script-src 'self' 'unsafe-inline' 'unsafe-eval' *.cloudflare.com *.quantserve.com;" 
    contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" connect-src 'self' twitter.com *.xing.com;" 
    contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" frame-src 'self' 'unsafe-inline' 'unsafe-eval' edge.quantserve.com;" 
} 
+0

CORS與問題中引用的消息無關。該信息僅限於CSP。 – sideshowbarker

+0

是的,這是真的。對於那個很抱歉。 –

回答

1

添加data:script-src線。

contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" script-src 'self' 'unsafe-inline' 'unsafe-eval' data: *.cloudflare.com *.quantserve.com;" 

注:這通常有一定的安全隱患,但你script-src是如此寬容無論如何,它提供了幾乎沒有任何保護。