快递 CORS 不工作
Posted
技术标签:
【中文标题】快递 CORS 不工作【英文标题】:Express CORS not working 【发布时间】: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。
【问题讨论】:
【参考方案1】:您所描述的行为似乎是我所期望的。
CORS 不会帮助您过滤服务器上的来电。在这种情况下,浏览器的 CORS 检查不会启动,因为您似乎是直接在浏览器中输入 URL。仅当从特定域加载的网页尝试访问/提交到不同域中的 URL 时,浏览器才会执行 CORS 检查。
看待 CORS 的另一种方式。 CORS 旨在保护浏览器前的用户,而不是正在访问的服务器代码。
【讨论】:
感谢您的回复。最好将我的 apiserver.com 原型化为仅允许来自 mywebpage.com 的访问? API 用户身份验证和令牌将帮助您只允许您使用 API以上是关于快递 CORS 不工作的主要内容,如果未能解决你的问题,请参考以下文章