2015-11-05 97 views
1

我正在使用Phonegap Developer應用程序來測試我的phonegap應用程序。 Recentyle我開始收到有關缺少Content-Security-Policy元信息的控制檯警告。由於Phonegap默認模板不包含任何CSP,因此我決定使用Cordova。我已經列入白名單的插件(科爾多瓦 - 插件白名單)和index.html中的以下行:Phonegap開發人員應用程序和內容安全政策

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 

的問題是,在此之後的PhoneGap開發的應用程序已經不更新。它會卡在默認應用程序模板的「連接到設備」中。 Console.log也不起作用。

我錯過了什麼嗎?什麼是正確的CSP?

非常感謝您的任何想法! :)

回答

0

我用同樣的問題是位。請確保您允許unsafe-inline腳本和樣式:

<meta http-equiv="Content-Security-Policy" content=" 
    default-src *; 
    style-src * 'unsafe-inline'; 
    script-src * 'unsafe-inline'; 
" /> 

僅供參考,here是內容安全,政策文件。

0

我遇到了你提到過的同樣的問題。 首先你要添加到您的​​3210

<allow-navigation href="http://*/*"/> 
    <allow-intent href="http://*/*"/> 
    <allow-intent href="tel:*"/> 

第二:你得的CSP添加到您的索引:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 

有幾件事情怎麼回事,讓我們把它分解納入其組成指令。

'unsafe-eval'允許來自以上任何來源的JavaScript使用動態JavaScript評估:例如使用eval()。

gap:科爾多瓦的具體情況,差距計劃使得JS < - >本地通信的iOS。

https://ssl.gstatic.com Cordova特定的,Android所需的,以便TalkBack(輔助功能)正常工作。

,這裏是每一個價值意義的完整文檔: http://content-security-policy.com/

乾杯。