Raj*_* Rs 1 android sencha-touch content-security-policy cordova-plugins cordova-5.0.0
我正在开发Cordova Android移动应用程序.使用Sencha touch作为UI框架.在应用程序中我正在进行Web服务调用.它曾经与旧版Cordova一起工作,最近将Cordova proj升级到5.0.0,从此无法访问更新版Android设备上的任何Web服务.我在项目中包含了白名单插件.还在index.html中包含了以下元标记
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
Run Code Online (Sandbox Code Playgroud)
config.xml:
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
Run Code Online (Sandbox Code Playgroud)
运行应用程序时会引发以下错误,
"Refused to connect to 'http://my-server-url.ss.yy.com:8080/SomeServ/rest/someapp/appdata?_dc=1433398248330' because it violates the following Content Security Policy directive: "default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback.
Run Code Online (Sandbox Code Playgroud)
我无法从这里前进.在谷歌上尝试了很多建议,但没有用.请指导我这里缺少什么.
注意:在应用程序中我连接到多个服务器.
提前致谢!!
您需要在元标记上添加服务器URL,方式如下:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' my-server-url.ss.yy.com:8080 data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *">
Run Code Online (Sandbox Code Playgroud)
然后安全策略将允许与my-server-url.ss.yy.com:8080的连接.
更改:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
Run Code Online (Sandbox Code Playgroud)
至:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src http://my-server-url.ss.yy.com:*">
Run Code Online (Sandbox Code Playgroud)
现在可以连接到服务器了。
注意 如果连接到更多服务器,则需要扩展此规则。
| 归档时间: |
|
| 查看次数: |
6558 次 |
| 最近记录: |