Discuss / Java / CORS的初衷是为了保护谁呢

CORS的初衷是为了保护谁呢

Topic source

我一开始的理解是,我方浏览器访问A网站=>A发个恶意的js给我=>恶意js偷偷访问B网站=>该行为被我方浏览器阻止,达到了保护我方数据安全的目的。

但是由于在B网站上配置CORS策略可以绕过,所以感觉以上行为是为了保护B的数据而不是我的数据。

一想也是有道理的,否则我方浏览器根本不必访问B网站读取B的策略,直接一看试图访问B,request都没有发出去就禁止访问了。

有点扯到题外,就是如何保护我方数据安全呢?因为以上A/B合作完全可以窃取我的数据么(当然如果A是恶意根本无需跟B合作)

谢谢

还有,如果是为了保护B的数据安全,CORS仅仅是阻止了javascript的访问(我想主要是ajax?),但是并没有阻止其他的方式呀。

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

如果你是服务方,有了CORS就可以让其他网站的js调用你的api

如果你是某个网站,有了CORS就可以调用友商网站的资源,比如引用某些公共资源 https://cdnjs.com/libraries/element-ui 前提是你信任它

谢谢廖老师。

我就是没有太搞明白浏览器在这其中起了什么作用。因为明明跟它没有什么关系呀

廖雪峰

#5 Created at ... [Delete] [Delete and Lock User]

没有cors,用户在你的网站请求其他网站必须先发到你的服务器,再由你的服务器中转到对方服务器

廖老师, 应该是用户在其他网站, 想请求你的网站, 毕竟经过你的允许..

用户在你的网站上, 借用你的域名访问啥都行, 比如说我们, 在baidu.com的控制台下面, 想怎么发请求都可以, 对吧. 不一定要走百度的服务器吧.


  • 1

Reply