2015-11-05 80 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/

干杯。