据我了解CORS不能确切地保护你的方式,你可以真正确保来电者是谁 。 因为主叫方可以发送任何ORIGIN头他想。 其实我读的地方,你不能设置通过JavaScript起源头,因为它是一个受限制的头 - 但我不是很肯定。 无论如何..如果你要实现自己的HttpClient你可以很容易伪造产地的包头和消费,因此你不应该使用服务。
其次,如果没有指定产地头请求工作为好 。 比如我用谷歌Chrome的邮差扩展,它不发送任何来源头。 事实上,如果你尝试添加一个手动它不通过网络发送它。
因此...
据我了解CORS不能确切地保护你的方式,你可以真正确保来电者是谁 。 因为主叫方可以发送任何ORIGIN头他想。 其实我读的地方,你不能设置通过JavaScript起源头,因为它是一个受限制的头 - 但我不是很肯定。 无论如何..如果你要实现自己的HttpClient你可以很容易伪造产地的包头和消费,因此你不应该使用服务。
其次,如果没有指定产地头请求工作为好 。 比如我用谷歌Chrome的邮差扩展,它不发送任何来源头。 事实上,如果你尝试添加一个手动它不通过网络发送它。
因此...
有浏览器支持CORS,不支持CORS。 (我们是在CORS的初期,CORS规范的跨浏览器的实现并不一致)。
同样的原产地政策旨在减少XSS攻击的风险,这种攻击主要是发生在浏览器中,不太可能在HttpClient的发生。 该CORS政策是放宽同源策略,这样,如果你是这两个网站的所有者,您可以利用这一政策,让你的2个站点之间的通信。
提示支持CORS意味着浏览器有它已联络服务器后应用跨来源的安全策略,并已获得的响应报头,这意味着即使响应被丢弃,因为所需要的头缺失或指定的请求是由不同的域。 这是一个没有实现CORS和简单地阻止请求,从来没有联系服务器浏览器一个非常不同的方法。
从这个提取书
CORS的一点是要防止(或允许)的JavaScript在不同的域上运行,从发送AJAX请求到您的API和使用用户的身份验证会话cookie。
CORS 不能取代适当的认证; 所有做的是防止浏览器作为一个困惑副针对您现有的认证方案。