如何使用 cors 和 expressjs 阻止来自某个来源的路由
How do I block routes from a certain origin with cors and expressjs
现在我已经启用了 cors,所以它只允许一个源可以向 任何路由 发出请求,但我也想这样做 阻塞了那个起点的一些路线。如果他们有任何方式,请回答这个问题!谢谢。
到目前为止我的代码是
app.use(cors({
origin: process.env.HOST,
}));
我想你可以试试这个
const blacklisted = ['http://example1.com', 'http://example2.com']
const corsOptions = {
origin: function (origin, callback) {
if (blacklisted.indexOf(origin) !== -1) {
callback(new Error('Not allowed by CORS'))
} else {
callback(null, true)
}
},
}
那你就可以这样用了,
app.get('/route', cors(corsOptions), (req, res, next) => {
//...
})
现在我已经启用了 cors,所以它只允许一个源可以向 任何路由 发出请求,但我也想这样做 阻塞了那个起点的一些路线。如果他们有任何方式,请回答这个问题!谢谢。
到目前为止我的代码是
app.use(cors({
origin: process.env.HOST,
}));
我想你可以试试这个
const blacklisted = ['http://example1.com', 'http://example2.com']
const corsOptions = {
origin: function (origin, callback) {
if (blacklisted.indexOf(origin) !== -1) {
callback(new Error('Not allowed by CORS'))
} else {
callback(null, true)
}
},
}
那你就可以这样用了,
app.get('/route', cors(corsOptions), (req, res, next) => {
//...
})