我尝试将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文件的数据,但无论我尝试什么,它都无法连接。任何有关这方面的帮助将不胜感激。
答案 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。