设置访问控制允许源站接受所有域时存在哪些安全风险?

我最近不得不将访问控制允许Origin设置为*,以便能够进行跨子域AJAX调用。我觉得这可能是个安全问题。如果我保持这种设置,我将面临什么样的风险

通过使用访问控制允许来源:进行响应,请求的资源允许与每个来源共享。这基本上意味着任何站点都可以向您的站点发送XHR请求并访问服务器的响应,如果您没有实现此CORS响应,情况就不会如此了

因此,任何网站都可以代表其访问者向您的网站提出请求,并处理其响应。如果您实现了基于浏览器自动提供的内容(cookie、基于cookie的会话等)的身份验证或授权方案,则第三方站点触发的请求也将使用它们

这确实会带来安全风险,特别是如果您不仅允许为选定的资源共享资源,而且允许为每个资源共享资源。在本文中,您应该了解一下启用CORS何时安全?

更新(2020-10-07)

如果访问控制允许源站设置为*,当前获取标准将在凭据模式设置为包括时忽略凭据

因此,如果您使用的是基于cookie的身份验证,则不会在请求时发送您的凭据

发表评论