我尝试将 Cordova 白名单插件添加到我正在开发的 phonegap 应用程序中,以便我的应用程序可以调用我的站点以获取存储在数据库中的数据。这是我当前的配置.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 文件位于同一文件夹中。下面是索引的标头.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="csscusom-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文件中发送和接收数据,但无论我尝试什么,它都不会连接。任何这方面的帮助将不胜感激。
您正在尝试显示来自外部网站的内容。但是您的内容安全策略正在阻止 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 *">
您也可以参考 这里 了解更多关于科尔多瓦给出的内容政策
注意:
根据我的个人经验。如果您认为您的网站不会发送任何有害内容,那么我建议您从索引中删除内容策略标头.html。这将使您的科尔多瓦应用程序不会阻止 xss。