我正在开发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工作方式(可能不再允许使用星号或以不同方式工作)?
答案 0 :(得分:0)
好的,所以我通过将CSP更改为:
解决了这个问题http:// *:* / 4DSOAP https://*:*/4DSOAP“/&gt;
因此,我没有星号,而是两个:一个用于IP,一个用于端口。
我仍然不知道为什么突然停止工作的原因。