首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova内容安全策略

Cordova内容安全策略
EN

Stack Overflow用户
提问于 2015-05-11 16:14:52
回答 3查看 36.8K关注 0票数 16

我有一个Cordova应用程序,在升级(5.0.0)之后,我根本无法调用任何资源。我添加了白名单插件,并在index.html中添加了以下标记

代码语言:javascript
复制
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azure-mobile.net localhost:1337 *.ajax.aspnetcdn.com">

我发现了以下错误:

拒绝加载脚本'http://ajax.aspnetcdn.com/ajax/mobileservices/MobileServices.Web-1.2.5.min.js‘,因为它违反了以下内容安全策略指令:" script -src 'self’‘不安全-内联’‘不安全-eval’*..azure Mobilee.net localhost:1337 *.ajax.aspnetcdn.com“。 拒绝加载脚本'http://localhost:1337/vorlon.js‘,因为它违反了以下内容安全策略指令:" script -src 'self’‘不安全-内联’‘不安全-eval’*..azure Mobilee.net localhost:1337 *.ajax.aspnetcdn.com“。

我尝试了默认的策略,允许一切,但仍然没有运气。

我还将以下内容添加到我的config.xml文件中

代码语言:javascript
复制
<access origin="*" />
<allow-navigation href="*" />

并使用以下插件:

代码语言:javascript
复制
C:\Projects\TavlaApp>cordova plugin
com.microsoft.azure-mobile-services 1.2.7 "Windows Azure Mobile Services"
cordova-plugin-whitelist 1.0.1-dev "Whitelist"
nl.x-services.plugins.calendar 4.3.4 "Calendar"
nl.x-services.plugins.insomnia 4.0.1 "Insomnia (prevent screen sleep)"
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser"

知道该试试什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-12 18:49:07

好像我的插件/平台出了问题。

我删除了所有插件

代码语言:javascript
复制
   cordova platform rm android
   cordova platform add android

然后读取插件,一切都正常。

票数 7
EN

Stack Overflow用户

发布于 2015-05-11 22:33:45

通配符被接受,但仅作为方案、端口或主机名最左边的位置接受:

代码语言:javascript
复制
*://*.example.com:* 

...this将在任何端口上使用任何方案匹配example.com的所有子域(而不是example.com本身)。

对您来说,这里的关键可能是上面粗体中的部分。

您是在具体说明:

代码语言:javascript
复制
localhost:1337

*.ajax.aspnetcdn.com

但仍在呼唤

代码语言:javascript
复制
http://ajax.aspnetcdn.com

http://localhost:1337

也许换到

代码语言:javascript
复制
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azure-mobile.net http://localhost:1337 http://ajax.aspnetcdn.com">

我正在指定端口,但您可以将"http“替换为*。

希望这能帮到你,或者引导你走向正确的方向。

票数 30
EN

Stack Overflow用户

发布于 2016-02-02 05:59:12

我在试图为Cordova 5安装Cordova-plugins- while时遇到了这个问题。

为android安装"cordova-plugin-whitelist“

代码语言:javascript
复制
This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in.

正如我们所看到的,这个插件在Cordova v5中不再是必需的!!

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30172654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档