javascript – CORS插件/ –disable-web-security如何在浏览器上运行?

我确信我不是唯一一个在使用外部(甚至内部)API端点进行API调用时,使用/使用CORS插件进行浏览器或使用–disable-web-security标志的人.我使用此插件来制作与Google Maps相关的API调用.但在同一个应用程序中,ParseSDK API调用不需要CORS或–disable-web-security标志.

我的问题是:为什么这些端点的行为不同,CORS插件如何解决问题(即使我们无法控制这些API)?

提前致谢.

最佳答案
那个插件做的是非常不负责任的;它实际上禁用了相同的原始策略,该策略强制特定来源的网站只能向该来源发出请求.

相同的原始策略实际上只是阻止网站读取GET / POST请求的响应,请求本身就是,因为它被认为是保存.

随着时间的推移,这个良好的安全功能成为负担,人们使用像JSONP这样的解决方法.

因此,我们获得了一种新的,标准化的方式来访问外国来源:

CORS(跨源资源共享)是一种允许Web服务器指定允许另一个源访问其内容的机制.这是通过Access-Control-Allow-Origin:example.com完成的,即使响应来自不同的来源,它也允许example.com访问响应.

Access-Control-Allow-Credentials:true还允许在请求中发送包含cookie和HTTP Basic身份验证的凭据.

您还可以为Access-Control-Allow-Origin:*指定通配符,该通配符允许所有网站访问此响应.但是,执行此操作时,必须指定Access-Control-Allow-Credentials:false,因此不会公开凭据.

这是在互联网上实现公共可访问AJAX API的唯一正确方法.

但是,这个插件只是完全禁用相同的原始策略,这是非常危险的.

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小