【问题标题】:Express CORS not working快递 CORS 不工作
【发布时间】:2017-09-19 04:19:00
【问题描述】:

我刚开始我的 nodejs express 模板购买 cors 不起作用。

我使用 npm install cors --save

这是文件:

var express = require('express');
var cors = require('cors');
var app = express();

app.use(cors());

var corsOptions = {
  origin: 'https://example.com/',
  optionsSuccessStatus: 200
};

app.get('/', cors(corsOptions), function(req, res, next) {
    res.json({ message: 'hooray! welcome to our api!' });
});

app.get('/tt', function(req, res, next) {
    res.json({ message: 'hooray! welcome to our api!' });
});

var port = process.env.PORT || 3030;
app.listen(port);
console.log('Magic happens on port ' + port);

现在使用上面的代码,当我访问 localhost:3030/tt 或 / 时,我仍然可以看到内容,我不应该

这有什么问题..我刚刚为此浪费了 2 个小时的时间.. :( 目前我不想使用 CORS,但在不久的将来当我的应用完成时,我想只允许来自我的项目的传入调用,因为这个应用将是我的 API。

【问题讨论】:

    标签: node.js api express cors


    【解决方案1】:

    您所描述的行为似乎是我所期望的。

    CORS 不会帮助您过滤服务器上的来电。在这种情况下,浏览器的 CORS 检查不会启动,因为您似乎是直接在浏览器中输入 URL。仅当从特定域加载的网页尝试访问/提交到不同域中的 URL 时,浏览器才会执行 CORS 检查。

    看待 CORS 的另一种方式。 CORS 旨在保护浏览器前的用户,而不是正在访问的服务器代码。

    【讨论】:

    • 感谢您的回复。最好将我的 apiserver.com 原型化为仅允许来自 mywebpage.com 的访问?
    • API 用户身份验证和令牌将帮助您只允许您使用 API
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2017-08-19
    • 2015-10-24
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多