Php Phonegap文件传输和访问控制允许源

Php Phonegap文件传输和访问控制允许源,php,cordova,cross-domain,Php,Cordova,Cross Domain,只是好奇的尝试了使用phonegap和ajax从服务器查询注意我的ip在一段时间后被阻止,因为不允许访问控制Allow Origin。但在你被阻止之前,该应用程序仍能正常运行 找到了一种解决方法,可以是jsonp,也可以是服务器上的允许访问控制。但是jsonp不能传输文件,所以第二个是文件上传的选项 允许在服务器上进行访问控制的代码: <?php header('Access-Control-Allow-Origin: *'); ?> phonegap的ft.upload也需要

只是好奇的尝试了使用phonegap和ajax从服务器查询注意我的ip在一段时间后被阻止,因为不允许访问控制Allow Origin。但在你被阻止之前,该应用程序仍能正常运行

找到了一种解决方法,可以是jsonp,也可以是服务器上的允许访问控制。但是jsonp不能传输文件,所以第二个是文件上传的选项

允许在服务器上进行访问控制的代码:

<?php header('Access-Control-Allow-Origin: *'); ?>

phonegap的ft.upload也需要这个吗

另一个问题是,有没有办法只允许一个特定的phonegap应用程序用于此目的

因为您可以将*更改为特定url,但不确定如何为phonegap执行此操作


感谢您只允许特定的应用程序与您的服务器一起工作,您可以通过AJAX请求头发送私钥,如“X-ACCESS-TOKEN”

然后在服务器上,您可以检查头是否已发送,以及是否等于预期值

另外,我建议使用.htaccess处理头文件,而不是直接在后端代码中处理

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type, accept, X-ACCESS-TOKEN"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

请注意,如果您遵循我的建议,您必须将X-ACCESS-TOKEN添加到允许的标题列表中。

PhoneGap可以在config.xml文件中定义此选项



您是否100%肯定其被阻止是因为访问控制允许来源?或者您只是忘记了将phonegab config.xml文件更改为set
或任何您的域吗?使用PhoneGap专用文件传输api时,您不必处理您不了解的原始版本。我的问题是PHONEGAP->请求->服务器,而不是相反。还有……请求。。应该包含一个cookie。ft.upload不会发送cookieI,我会尝试一下并回复你,看起来很有希望,谢谢。请你澄清一下你的意思:“你必须将X-ACCESS-TOKEN添加到允许的标题列表中。”?
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type, accept, X-ACCESS-TOKEN"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
<access origin="http://google.com" />

<access origin="https://google.com" />

<access origin="http://*.google.com" />

<access origin="*" />