【发布时间】:2021-12-02 04:42:43
【问题描述】:
我的印象是,跨域请求被阻止主要是为了防止恶意网站获取或更新您的网络服务上的信息。
然而,我注意到即使请求在我的前端被阻止,代码仍然在后端执行。
例如:
import express = require('express')
const app = express()
const port = 80
app.use(function (req, res, next) {
// res.header("Access-Control-Allow-Origin", "*")
// res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
next()
});
app.get('/foo', (req, res) => {
console.log("test1")
res.json({
data: "Hello"
})
console.log("test2")
})
app.listen(port, () => {
console.log(`app listening at http://localhost:${port}`)
})
如果我的前端随后向 express 服务发出请求,请求将因cross-origin 而失败,但 express 服务仍会记录
test1
test2
由于不允许来源,是否应该 express 阻止服务继续运行?即使前端出错,如果 express 代码仍然执行,这不是安全威胁吗?
【问题讨论】:
标签: express cross-domain