2016-12-27 92 views
0

我想通過一些CDN加載一些CSS和腳本來提高加載時間,但我得到一個內容安全策略問題,但經過相當長的時間閱讀並嘗試不同的政策,它仍然給我同樣的錯誤。瀏覽器不使用元標記內容安全策略

目前我的政策是這樣的 -

<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://code.jquery.com/ https://cdnjs.cloudflare.com/ https://maxcdn.bootstrapcdn.com/"> 

,從我的理解應該是說我可以加載從網站本身和3個網址EG的maxcdn什麼我應該能夠裝載https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js

我確實嘗試了很簡單並且不被使用的政策

<meta http-equiv="Content-Security-Policy" content="default-src *"> 

但是這並沒有改變任何東西。

我得到的錯誤是 -

拒絕加載腳本「https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js」,因爲它違反了以下內容安全政策指令:「默認-src的‘自我’」。請注意,'script-src'沒有明確設置,所以'default-src'被用作後備。

腳本它試圖加載(我會做秋天的背上後,我得到這個工作) -

<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" 
     integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" 
     crossorigin="anonymous"></script> 

我在鉻(55.0.2883.87)和邊緣測試。

從錯誤消息,它好像它沒有采取我的政策,但使用瀏覽器設置的默認策略?

任何幫助,將不勝感激:)

回答

1

腳本加載時不我與你在你的問題包含meta標籤提供的CSP測試它的一個問題。

我能夠通過使用HTTP標頭包含衝突的CSP來重現該問題。

一個真正的HTTP頭將超過一個元標記。

您需要對服務器端代碼或HTTP服務器配置進行更改,而不是更改爲文檔。

+0

完全正確的感謝@Quentin :) - 我使用的是asp核心,所以必須在配置方法中添加策略,就像這樣 - 'app.Use(async(ctx,next)=> { ctx.Response。 Headers.Add(「Content-Security-Policy」, 「default-src'self')https://code.jquery.com/ https://cdnjs.cloudflare.com/ https://maxcdn.bootstrapcdn.com/ 「); 等待下一個(); });' –