我读过一些关于同源策略和CORS的文章,但仍然不太了解它给用户带来的安全性。
同源政策提供了真正有价值的安全性,防止来自某个来源的网站访问另一个网站上的某些网页内容。从而防止了iframe的内容被容器的脚本访问的威胁,可能是伪造/钓鱼网站。
但AJAX和CORS来了。CORS为服务器提供了控制哪些源可以访问它的能力。但是,最终,如果不允许,则是浏览器在标头手动检查后停止请求。
所以,想象一下你得到了一些恶意网站myphishing.com。你想通过AJAX请求向该网站显示来自另一个受信任网站mybank.com/em>的信息。这一个由配置良好的CORS头保护,只允许来自mybank.comorigin的请求。如果我是myphising.com的作者,通过一个代理将所有请求中继到mybank.comybank.com请求中的origin标头,并更改CORS响应标头,使浏览器认为 myphishing.com也许我完全被误导了,但如果有人能告诉我我误解了整件事的地方,我会很高兴。 可能重复,但我在这里没有找到答案:同源策略的威胁模型是什么?。
如果我是myphising.com的作者,通过一个代理将所有请求中继到mybank.com,该代理会以请求和响应的方式更改头,以伪造客户端浏览器和银行服务器,该怎么办?
不管有没有CORS,你都可以这么做。
然而,如果请求来自您的代理,那么它无法知道如果请求来自浏览器,浏览器会向服务器发送什么凭据。