是否可以仅为我的Android APP启用CORS

时间:2019-02-03 16:58:08

标签: php android cordova cors

我正在使用cordova开发一个Android应用。在应用程序的某些方面,我必须调用一个PHP脚本。 (是的,它必须使用PHP,因为没有很大的机会做不同的事情。请不要着眼于这一点,以将PHP从我的应用程序中排除。)

我对将PHP集成到cordova中的几个小时的研究表明,这不可能直接实现。

这就是为什么我一直在考虑将我的PHP文件托管在可以运行PHP脚本的个人域中的原因。

总是通过我的Android应用程序从域中调用PHP时,它会失败:

  

从“ https://example.com/php/todo.php”访问XMLHttpRequest   原产地“ http://localhost”已被CORS政策禁止:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。

我知道我可以在我的域上禁用CORS策略-这样它就可以运行它。但是这样一来,一般来说就会有安全隐患。

但是我的问题是:

我可以只允许我的应用程序中的CORS CALL,而不允许其他任何东西吗?

还是您有解决办法的想法?

1 个答案:

答案 0 :(得分:0)

  

我可以只允许我的应用中的CORS CALL,而不允许所有内容   其他吗?

不,你不能。 CORS仅保护客户端免受跨源攻击,而不保护服务器。每个人都可以提出一个请求,您的服务器将很乐意接受。您可能需要使用API​​密钥之类的方法来保护服务器免受不必要的访问。