内容安全政策在使用应用

时间:2017-05-03 14:19:54

标签: cordova android-webview content-security-policy

我正在开发Cordova应用程序好几个月了,几个月前我按照我想要的方式设置了内容安全策略后,我从来没有遇到任何问题。

我的应用在启动时连接到服务器。这几个月是同一台服务器。

但今天我在使用应用程序时突然停止工作。我的应用程序崩溃(第一次发生)然后当我重新启动它时,我在尝试连接服务器时遇到了CSP错误。

我没有改变CSP,我甚至都没有改变它。

我尝试重新启动手机和服务器,但它没有解决问题。

因此,我要连接的地址类似于http://my.random.address.com:40017/4DSOAP

我的CSP是<meta http-equiv="Content-Security-Policy" content="default-src 'self' http://*/4DSOAP https://*/4DSOAP" />

正如我所说,它在几个月内完美无缺,我每周都会连接数百次服务器,包括今天几十次。

现在,如果我将CSP更改为<meta http-equiv="Content-Security-Policy" content="default-src 'self' http://my.random.address.com:40017/4DSOAP https://*/4DSOAP" />(所以我想要达到的确切地址),它就可以了。但这不是我想要的,因为它可能是另一个端口甚至是另一个地址。

Chrome Debug上的错误是:

  

拒绝连接到“http://my.random.address.com:40017/4DSOAP”,因为它违反了以下内容安全策略指令:“default-src'self'http:// * / 4DSOAP https:// * / 4DSOAP”。请注意,'connect-src'未显式设置,因此'default-src'用作后备。

当我使用应用程序时,我的手机是否有可能进行更新,更新了更改网页浏览量和CSP工作方式(可能不再允许使用星号或以不同方式工作)?

1 个答案:

答案 0 :(得分:0)

好的,所以我通过将CSP更改为:

解决了这个问题
  

http:// *:* / 4DSOAP https://*:*/4DSOAP“/&gt;

因此,我没有星号,而是两个:一个用于IP,一个用于端口。

我仍然不知道为什么突然停止工作的原因。