2017-03-28 122 views
0

我目前正在對我的大學進行移動Web應用程序開發課程的介紹,並且正在努力在我的mithril應用程序上設置引導程序。爲CDN實施正確的CSP規則

我之前已設置了引導罰款「正常」 web應用程序,但我努力理解如何正確設置內容安全策略在我Mithril.js應用。

應該指出,這不是我當前任務的必需部分,但我更想親自理解CSP的概念,因爲這是理解非常重要的事情(OWASP top 10,喲!)。

因此,我並不是要求任何人幫助我完成一項任務,而是幫助我瞭解CSP的這種課外應用的錯誤。


這是我的CSP的外觀現在:

<meta http-equiv="Content-Security-Policy" 
content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; 
     style-src 'self' 'unsafe-inline' http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css; 
     media-src *; img-src 'self' data: content:; 
     script-src https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js 
     http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js;"> 

的CDN網址,做工精細,目前翻過多個其他網站我設置來實現,但我發現這些錯誤,同時檢查在Chrome的控制檯:

拒絕加載腳本「http://localhost:8013/cordova.js」,因爲 它違反了以下內容安全策略指令: 「script-src https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js」。

的index.html:1。拒絕加載腳本 'http://localhost:8013/bin/app.js',因爲它違反了以下 內容安全政策指令: 「腳本SRC https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js」。

jquery.min.js:2拒絕,因爲它違反了以下內容安全策略指令來加載字體 「http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff2」 : 「默認-SRC‘自我’的數據:差距:https://ssl.gstatic.com‘不安全-EVAL’」 。 請注意,'font-src'沒有明確設置,所以'default-src'被用作 作爲後備。

(匿名)@ jquery.min.js:2個jquery.min.js:2拒絕加載字體 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff' 因爲它違反了以下內容安全策略指令: 「默認-src的 '自我' data:gap:https://ssl.gstatic.com'unsafe-eval'「。 請注意,'font-src'沒有明確設置,所以'default-src'被用作 作爲後備。

(匿名)@ jquery.min.js:2個jquery.min.js:2拒絕加載字體 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.ttf' 因爲它違反了以下內容安全策略指令: 「默認-src的 '自我' data:gap:https://ssl.gstatic.com'unsafe-eval'「。 請注意,'font-src'沒有明確設置,所以'default-src'被用作 作爲後備。

(匿名)@ jquery.min。JS:2 http://localhost:8013/favicon.ico失敗 加載資源:服務器與404狀態響應(不 找到)

回答

1

回答這個問題,在我們的聊天也,但對於其他人在這裏是一個簡短的回答。把你的網址,以「不安全內聯」前面的CSS文件,因此它是

style-src 'self' bootstrap.css 'unsafe-inline'; 

而且你需要在腳本的SRC jQuery和bootstrap.js之前的「自我」。