【问题标题】:cors for express what exactly does it do?cors for express 它到底是做什么的?
【发布时间】:2020-05-24 15:54:44
【问题描述】:

我有一个这样的快速服务器设置:

const cors = require('cors');
const express = require('express');
const app = express();
const port = 8000;

app.use(cors({origin: 'http://localhost:8000'}));
// Parse requests of content-type - application/json
app.use(express.json());
// Parse requests of content-type - application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: true }));


require('./app/routes/auth.routes')(app);
require('./app/routes/user.routes')(app);

app.listen(port, () => console.log(`Listening on http://loclalhost:${port}`));

我对 cors 的所作所为感到困惑,我正在学习教程。是否只允许来自http://localhost:8000的请求?

【问题讨论】:

标签: javascript node.js express


【解决方案1】:

CORS 来自“Cross-Origin resource sharing”,基本上是一种允许或不允许服务器访问您的网站资源(路由数据、api 请求等)的协议。
当您在 Javascript 中使用cors 模块并将origin 参数提供为http://localhost:8000 时,这意味着域localhost 可以访问您的后端资源并从中获取数据,而其他域则不能。例如,如果域 stackoverflow.com 试图从您的服务器上抓取数据,它将被 cors 模块阻止。
Cors 通常用于避免来自其他域的网络抓取和恶意请求。 例如,如果您在 heroku 服务器上托管您的应用程序,则需要将 origin 参数更改为您的 heroku 应用程序 url。

【讨论】:

  • 太棒了,这就是我正在寻找的解释。谢谢!
  • @Kex 这(或多或少)与维基文章中的解释相同......
猜你喜欢
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 2013-09-02
  • 2014-01-02
  • 2013-10-10
  • 2017-05-08
相关资源
最近更新 更多