阅读了 CORS(跨源资源共享)后,我不明白它如何提高安全性。如果发送了正确的 ORIGIN header ,则允许跨域 AJAX 通信。例如,如果我发送
服务器检查这个域是否在白名单中,如果是,则 header :
Access-Control-Allow-Origin: [在此处接收 url]
连同response一起发回(这个是简单的情况,也有prefighted requests,但是问题是一样的)。
这真的安全吗?如果有人想要接收信息,伪造一个 ORIGIN header 似乎是一项非常微不足道的任务。该标准还表示该策略在浏览器中强制执行,如果 Access-Control-Allow-Origin 不正确则阻止响应。显然,如果有人试图获取该信息,他将不会使用标准浏览器来阻止它。
最佳答案
目的是为了防止这种情况——
- 你去网站 X
- 网站 X 的作者编写了一个发送到您的浏览器的恶意脚本
- 在您的浏览器上运行的脚本会登录到您的银行网站并做坏事,因为它在您的浏览器中运行,所以它有权这样做。
想法是您的银行网站需要某种方式来告诉您的浏览器是否应该信任网站 X 上的脚本来访问您银行的页面。
关于javascript - CORS 是执行跨域 AJAX 请求的安全方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4850702/