与其他许多人一样,我遇到了我们正在调用的RESTful服务的问题。
这项服务和许多其他人一样都有ORIGIN检查。使用Cordova& Ionic执行来自Android应用程序的请求将原点设置为file://这对于浏览器cors检查有利但对服务不利,它们不允许此模式用于源。与其他人一样,只允许空原点或同一原点。
在很多帖子上,我读过你写的白板插件或CSP。但我认为这绝对是错误的。使用白名单,您无法处理原始标题,CSP与此无关。
所以最近几天我花了几百个小时用google搜索并测试了不同的解决方案和不同的插件。但解决方案并不存在,也不简单。
目前我正在测试用于http和websocket请求的cordova插件,进行原生http和websocket调用,这对于SOP问题非常有用,但是cookie存在一些问题。 我试图在Custom WebView上找到一个解决方案,我们可以从请求中获取Origin头,但这对我们来说很难。
有人可以帮忙解决这个问题吗?
我不是唯一一个必须通过互联网从移动混合应用程序调用受SOP保护的资源的人。为什么没有简单的解决方案?
修改 我在cordova上创建了一个问题https://issues.apache.org/jira/browse/CB-13194
答案 0 :(得分:0)
在这种情况下,您是否打算调整服务器端 CORS处理?我确定你在搜索中看过它,但https://enable-cors.org/server.html。
您无法/不应该从发出请求的客户端(有效欺骗)更改请求的来源。如果无法更改服务器上的CORS设置,您可能需要查看将您的请求代理到您控制的服务器,然后将其添加到目标受保护资源的允许来源列表中。