javascript – 适用于HTML5混合应用程序的CORS

我已经阅读了很多关于CORS的内容以及如何允许Access-Control-Allow-Origin:*是Web服务器的安全漏洞.但是这篇文章都没有解释我们如何允许 HTML5混合应用程序访问某些域上托管的Web服务,这些域服务不允许使用通配符char *

我的问题是:据我所知,HTML5混合应用程序不能在任何特定域上运行,我们可以在Access-Control-Allow-Origin列表中将其设置为列入白名单的域.那么我们如何仍然可以通过web服务器上的Ajax调用从混合APP请求数据访问Web服务数据,而不允许在Access-Control-Allow-Origin标签下?

解决方法

在设备上运行时,您的应用程序将在浏览器中运行,但将从本地文件系统(从类似于file://path/to/index.html的位置)运行.因此,不存在原点.浏览器不会执行任何预检OPTIONS请求,也不会因为交叉原因问题而阻止对API的调用,原因很简单,因为没有原点.

因此,您可以将服务器配置为仅允许相同的源请求,以确保安全.仍然允许从设备拨打电话.但是,当您在本地开发计算机上的浏览器中运行应用程序时(出于测试目的),您可能会遇到CORS问题,因为在这种情况下有一个来源.您可以通过允许本地域访问API(记住在生产中删除它),使用浏览器插件来禁用CORS或使用代理来解决此问题.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...