首先道歉:这对我来说是一个“愚蠢”的问题,我希望我很快就会后悔问这个问题......但我现在无法弄清楚,因为我的想法似乎陷入了错误的轨道. 所以请耐心等待并帮助我:
我的理解是,“同源”对于 Web 服务来说是个痛点,作为回应,CORS 放宽了限制,足以使 Web 服务合理工作,但仍然为用户提供了不错的安全性。我的问题是 CORS 究竟是如何做到这一点的?
假设用户访问网站A,该网站提供了向网站Z发出Web服务请求的代码。但是我已经侵入并破坏了网站Z,并将其变成了攻击站点。我很快让它对所有 CORS 请求做出积极响应(标题添加 Access-Control-Allow-Origin:“*”)。很快用户的计算机就被我从 Z 的攻击颠覆了。
在我看来,用户从未直接访问过 Z,对 Z 的存在一无所知,也从未“批准”过 Z。在我看来——即使在入侵被知道之后——网站 A 也无法阻止它(除了去离线本身:-)。安全问题会不会要求 A 证明 Z,而不是 Z 证明 A?我错过了什么?