Phonegap开发人员应用程序和内容安全政策
问题描述:
我正在使用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?
非常感谢您的任何想法! :)
答
我用同样的问题是位。请确保您允许unsafe-inline
脚本和样式:
<meta http-equiv="Content-Security-Policy" content="
default-src *;
style-src * 'unsafe-inline';
script-src * 'unsafe-inline';
" />
仅供参考,here是内容安全,政策文件。
答
我遇到了你提到过的同样的问题。 首先你要添加到您的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/
干杯。
谢谢亚当。该插件已安装。 –