关于CORS的概念困惑:保护对象与设计逻辑的疑问
CORS相关概念疑问
我可能存在认知遗漏,据了解CORS旨在保护次级站点而非源站点。大致场景为:从a.com加载的页面尝试向b.com发起fetch请求,浏览器会遵循CORS规范询问b.com是否允许向a.com共享数据。
我对此有两点疑问:
- 我可以编写程序直接访问
b.com,自定义任意请求头并跳过预检请求。保护b.com似乎应该是其自身的责任,若不愿向所有人提供服务,应实现身份验证机制。 - 我原本认为CORS的设计目标是保护源站点
a.com。例如:我诱导他人在其站点中使用我的handy-dandy.js,该脚本除了实现实用功能外,还会抓取DOM中的敏感数据(如信用卡信息),并通过隐秘方式发送至我的服务器b.com,而b.com会接收任何来源的请求。
提前致谢!
编辑:正如daniel f.指出,此前的一篇工单已涵盖此问题。
内容的提问来源于stack exchange,提问作者Igor Urisman
相关产品推荐
相关产品推荐

