美文网首页
浏览器同源政策及其规避方法

浏览器同源政策及其规避方法

作者: 沙漠露珠绿洲 | 来源:发表于2018-03-12 21:21 被阅读60次

    同源需要满足三个要素相同:
    1.协议相同
    2.域名相同,即使一级域名相同,二级域名不同也是不同源的
    3.端口相同

    如果不同源会有3种限制
    1.cookie、localstorage、indexDB不能读取
    2.DOM无法获得
    3.AJAX请求不能发送

    针对不同的方式有9种规避方式

    一级域名相同,二级域名不同(仅适用于cookie、ifram)
    1.浏览器端设置 document.domain=一级域名
    2.浏览器端设置 Set-Cookie: key=value; domain=.example.com; path=/(example.com一级域名)

    完全不同的源
    3.片段标识符
    4.window.name
    5.window.postMessage(HTML5 跨文档消息API——cross-document message)(localstorage可以读取)

    AJAX
    6.JSONP只支持get请求
    7.websocket
    8.CORS-Cross-origin resource sharing——支持所有请求
    9.代理

    参考:
    1.http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html
    2.http://www.ruanyifeng.com/blog/2016/04/cors.html

    相关文章

      网友评论

          本文标题:浏览器同源政策及其规避方法

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