W3C CORS 建议指出:
某些类型的资源不应尝试指定特定的授权来源,而是拒绝或允许所有来源。
...
3. 一个 GET 响应,其实体主体恰好被解析为 ECMAScript 可以返回一个值为“*”的 Access-Control-Allow-Origin 标头,前提是没有敏感注释,因为它可以使用 HTML 脚本元素跨域访问。如果需要,这些资源可以实现如上所述的访问控制和 CSRF 保护。
JSON 是否解析为 ECMAScript?
JSON 在通过 HTML 脚本元素执行时会产生副作用吗?
跨域 Web 内容能否从通过 HTML 脚本元素伪造的 CSRF 请求中获得对 JSON GET 响应的读取权限?
在这种情况下,“敏感评论”是什么意思?
本段是否适用于不接受 cookie 或 HTTP 身份验证进行授权的 GET 请求?例如,如果请求仅由 OAuth 授权,则浏览器将无法通过 HTML 脚本元素访问其响应。但是,通过将Access-Control-Allow-Origin: *所有授权请求的响应都包含在内,服务器将失去指定浏览器授予访问权限的来源的能力。
不会包括Access-Control-Allow-Origin: *削弱对 cookie 或 HTTP Authentication 授权的请求的响应的安全性吗?例如,如果请求是由 cookie 授权的,则它可以由浏览器执行,但响应正文中的源代码将无法访问跨域 Web 内容。通过使其响应 include Access-Control-Allow-Origin: *,服务器将与浏览器通信,来自所有来源的 Web 内容除了执行响应外,还应该有权读取响应。