在 Vue 客户端和服务器应用程序中如何消除对 CORS 的需要?
Posted
技术标签:
【中文标题】在 Vue 客户端和服务器应用程序中如何消除对 CORS 的需要?【英文标题】:In Vue client and server application how to eliminate the need for CORS? 【发布时间】:2018-09-02 20:25:19 【问题描述】:我在这里关注基于 MEVN 堆栈的教程:
MEVN Stack Tutorial
它是一个博客文章应用程序,客户端是基于 Vue 的 SPA(我们称之为应用程序 A),后端是基于 express 的,它通过基于 JSON Rest 的 API 提供 Mongo 数据(我们称之为应用程序 B。但是,它使用 cors 包B 允许跨源请求,这是一个安全风险,允许第三方直接调用应用 B API。
如何消除应用 B 中对 CORS 的需求?我正在寻找正确的方法。一个是应用程序 A 浏览器 javascript 不会调用应用程序 B,而是通过在应用程序 A 中添加 express 包来调用应用程序 A 后端,该程序包反过来对应用程序 B 进行相同的调用(在检查请求参数的有效性之后)。但在这种情况下,基于 express 的 app.js 存在于 app A 的 Vue 目录结构中?
我在应用 A 中为 http 使用 axios,我不确定如何使用它来解决上述问题。
【问题讨论】:
【参考方案1】:为什么您认为 CORS 存在安全风险? CORS 常用于各种应用程序,如果使用正确,不会有安全风险。您可以选择 CORS 允许的来源和方法。
消除 CORS 的唯一合理方法是将两个应用程序托管在同一个域上。这样一来,请求不再是跨域的,因为应用程序共享它们的来源。
【讨论】:
以上是关于在 Vue 客户端和服务器应用程序中如何消除对 CORS 的需要?的主要内容,如果未能解决你的问题,请参考以下文章