CORS(Access-Control-Allow-Origin标头)如何提高安全性?

eva*_*nal 3 css security firefox web

我现在正在为此做一些工作,我不得不说,这对我完全没有意义!基本上,我有一些CDN服务器,它为站点提供CSS,图像ect。无论出于什么原因,为了使我的浏览器停止由于CORS错误而阻止这些资源,我必须让该服务器(CDN)添加Access-Control-Allow-Origin标头。但据我所知,这绝对不能提高安全性。我请求引用这些跨域资源的页面是否应该告诉浏览器从其他域获取内容是安全的?如果那是一个恶意域,不是只是将Access-Control-Allow-Origin设置为*,以便站点加载其恶意响应(您不必回答,因为显然是这样)吗?

那么有人可以解释一下这种机制/功能如何提供安全性吗?据我所知,实施者已经搞砸了,实际上什么也没做。标头应该是从引用/请求跨域资源的页面中获取的,而不是来自被请求域的页面。

要清楚;如果我请求域A上的页面,则响应中包含来自域B的Access-Control-Allow-Origin标头白名单资源(Access-Control-Allow-Origin:.B.com)是有意义的,但是这样做域B通过提供标头有效地将其自身列入白名单完全没有意义;Access-Control-Allow-Origin:当前的实现方式。谁能说清楚此功能的好处是什么?

小智 5

如果我在站点A上托管了受保护的资源,但又控制了站点B,C和D,则可能要在我所有的站点上使用该资源,但仍阻止其他任何人在其站点上使用该资源。因此,我指示站点A Access-Control-Allow-Origin: B, C, D连同其所有响应一起发送。由网络浏览器本身来决定是否接受此请求,并且不提供对底层Javascript的响应或任何发起请求的请求(如果请求不是来自允许的来源)。错误处理程序将被调用。因此,这实际上不是为了您的安全,而是因为它是一种荣誉系统(所有主流浏览器都这样做),用于服务器的访问控制方法。