无法让Cordova Whitelist在phonegap应用中工作

时间:2017-01-28 22:32:27

标签: php android ios xml cordova

我尝试将Cordova Whitelist插件添加到我正在处理的phonegap应用中,这样我的应用就可以调用我的网站来存储数据库中存储的数据。这是我现在为应用程序提供的当前config.xml文件(某些数据已更改以保护隐私):

<widget id="com.test.testapp" version="1.0.0" versionCode="1" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
    <name>My App</name>
    <description>
       A Testing App
    </description>
    <author email="myemail@test.com" href="test.com">
        The Author
    </author>
    <content src="index.html" />

    <platform name="ios"/>
    <platform name="android"/>

    <plugin name="cordova-plugin-whitelist" source="npm" />

<access origin="https://mywebsite.com/*" />

</widget>

Config.xml也与index.html文件位于同一文件夹中。以下是该应用的index.html标题:

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <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 *">
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    <link href="css\cusom-css.css" rel="stylesheet" type="text/css">
  </head>

每次尝试连接时,都会收到此错误:

    undefined Content Security Policy has been added: 
<meta http-equiv="Content-Security-Policy" content="default-src * gap: ws: 
https://ssl.gstatic.com;img-src 'self' data: content:;style-src 'self' 'unsafe-
inline' data: blob:;script-src * 'unsafe-inline' 'unsafe-eval' data: blob:;">

我需要应用程序才能发送和接收来自我网页上托管的.php文件的数据,但无论我尝试什么,它都无法连接。任何有关这方面的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您尝试显示外部网站的内容。但是您的内容安全策略阻止了xss

您应该拥有以下内容的政策

<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 *; connect-src 'self' http://10.0.2.2">

或者这个

<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 *">

您也可以参考here了解有关cordova提供的内容政策的更多信息

注意:

根据我的个人经验。如果您认为您的网站不会发送任何有害内容,我建议您从index.html中删除内容政策标题。这将使您的cordova应用程序不会阻止xss。