美文网首页
前端笔记:CORS

前端笔记:CORS

作者: 赵伯舟 | 来源:发表于2019-04-23 23:36 被阅读0次

    1. 什么是CORS

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing),这个标准规定了浏览器如何向跨源服务器获取资源

    2. 同源策略

    SOP(同源策略,Same-Origin-Policy)规定浏览器禁止页面加载或执行与自身来源不同的域的任何脚本。如果没有同源策略,便可能出现以下情景的安全问题:

    情景一

    用户在一个登录了网站A,浏览器保存着网站A的cookie,此时用户B又登陆了恶意网站B,网站B在暗自向网站A发起了请求,并带上了网站A的cookie,如果没有同源策略限制,此时网站B便暗自登录上了用户在网站A的账号

    情景二

    网站B使用了一个iframe,获得网站A的DOM:
    <iframe src="www.site-a.com"></iframe> ,得到了这个网站A的DOM之后,用户在这个DOM内的操作都可以被获取到,如输入的账户密码等

    出于安全考虑,浏览器采用了同源策略作为一种安全机制。同源策略中,如果两个url“协议、域名、端口”一致,则认为是同源,若是非同源,则有以下限制:

    1. 存储在浏览器中的数据,如localStroage、Cookie等不能通过脚本跨域访问
    2. 不能通过脚本操作不同域下的DOM
    3. 不能通过ajax请求不同域的数据

    3. CORS

    未有高见,可参考以下三篇文章:
    什么是跨域?一次性带你理解透
    浏览器同源政策及其规避方法
    跨域资源共享 CORS 详解

    P.S 私以为文章是作者思想的“编译结果”,引用别人的文章如同将别人做得好的东西import到自己工程,从工程的角度讲无疑可以减少重复,然而思想又不是工程,不能像插件一样随插随用。不过细想之,import之所以可以将减少工作量,是因为作者只关注当前工程,不必关心import部分,但是实际运行时,还是得劳烦解释器之类去加载。当我们去思考一个问题时,如果要用到别人的思想,那还是自己去加载一下,所费的力气还是没有减少的:P

    相关文章

      网友评论

          本文标题:前端笔记:CORS

          本文链接:https://www.haomeiwen.com/subject/uvysgqtx.html