【发布时间】:2014-10-27 23:03:26
【问题描述】:
这是我第一次玩 PhoneGap,所以实际上我以前从来不需要跨域资源共享 (CORS)。
默认情况下它是被阻止的,我在网上找到的选项要么是黑客攻击,要么是不安全的。 我的问题是:使用 PhoneGap 完成服务器集成的最佳或正确方法是什么?
记住:
- 我需要会话控制服务器端来保持用户登录
- 请求来自 PhoneGap 的 web 视图中的文件,因此 origin = null
- 我正在使用 PHP 服务器端并且可以完全控制它
-
<access origin="*" />已经添加到 config.xml 中(它使我能够访问服务器,但不保证它会响应跨域请求)
在网上进行了长时间的搜索,我发现:
Access-Control-Allow-Origin *
Access-Control-Allow-Credentials true
但我知道它们相当不安全,特别是结合在一起。 我可以将用户会话 ID 保存在本地,但这似乎很麻烦且不安全。
还有 JSONP 可以解决问题,但这似乎也很笨拙、不安全并且不会保留我的会话 ID。
我可以使用代理服务器,但这似乎远非最佳,据我所知,很难防止攻击者不使用同一代理服务器来执行相同的操作。
【问题讨论】:
标签: ajax cordova cross-domain cors