gpt4 book ai didi

node.js - Express 是否默认禁用 CORS?

转载 作者:搜寻专家 更新时间:2023-10-31 23:45:12 24 4
gpt4 key购买 nike

我被要求确保我设置的新 Express 服务器强制执行跨源资源共享 (CORS),除非请求来自特定 URL。

我在这里找到了官方的 express CORS 中间件:https://github.com/expressjs/cors

如果我想为所有请求启用 CORS,那么我只需要添加 app.use(cors())

如果我只想允许指定的 url,那么我可以这样传递它们:

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

app.use(cors(corsOptions))

正确吗?

如果我想阻止所有来源/URL 访问我服务器上的资源怎么办?

这只是 Express 的默认行为吗?

如果我跳过上面的所有代码,那么我的服务器将免受所有请求的攻击?

如果我没有使用 CORS 中间件启用 CORS,我如何使用 postman 来测试服务器请求?

谢谢!

最佳答案

如果您不启用 CORS 中间件,您的服务器响应将不包含 CORS header ,浏览器将回退到标准 same-origin policy (即只有相同协议(protocol)、域和端口的脚本才能访问它)。

请注意,尽管这些都不是在服务器端强制执行的——CORS 只是向浏览器提供信息以允许其做出决定,并且没有什么可以阻止浏览器实现简单地忽略 CORS header 或同源策略.例如,像 Postman 这样的 HTTP 客户端通常会完全忽略 CORS,因为它与它们无关。

关于node.js - Express 是否默认禁用 CORS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48077289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com