如何拒绝 CORS 请求

Lin*_*kro 6 http

Access-Control-Allow-Origin对 CORS(跨源资源共享)预检的响应中缺少 HTTP 标头时,是否意味着:

  • 服务器不支持CORS?或者,
  • 服务器拒绝访问?

如果服务器不支持 CORS,那么显然会丢失标头。

但如果它确实支持 CORS,是否意味着访问被拒绝?

相反,实现 CORS 的服务器应该如何向客户端宣布由于 CORS 拒绝访问?它应该以类似的状态响应403 Forbidden吗?

我找到的每个来源都解释了添加哪些标头以允许跨域访问,但没有解释如何拒绝访问。

** 编辑:错误地提出问题,我不好,请参阅下面的解释**

与我的预期相比,我的问题的重点似乎离题了。事实上,答案集中在服务器配置上,但我感兴趣的是 HTTP 协议。

更准确地说,我提出这个问题是因为我试图通过交叉请求访问服务器,并且:

  • 服务器不包含 CORS 标头,而我的 XMLHttpRequest 包含它们
  • 浏览器确实接受了swf媒体发出的交叉请求
  • 我检查了媒体的引用者,它的 iframe 确实与请求的目标不同
  • 我什至不知道服务器是否实现了 CORS
  • 我不拥有服务器

我对 HTTP 内部 CORS 的理解水平较低,并且接受了一种交叉请求,这让我怀疑服务器是否拒绝了我的请求以及我做错了什么。

我会发布一个答案,因为我相信我从那时起就解决了它。

mim*_*imo 4

默认情况下拒绝跨域访问,同时认为存在安全风险。要拒绝访问,您需要删除允许跨域调用的配置。

全新安装的 Web 服务器不允许 CORS 开箱即用,至少对于我最近使用的 IIS 来说是这样。

检查如何(取消)配置不同的 Web 服务器以(拒绝)允许 CORS: http: //enable-cors.org/server.html