zoukankan      html  css  js  c++  java
  • 跨域CORS

    如果URL上未标明端口,那么http默认就是80端口,https默认是443端口

    同源策略是指在协议、域名、端口一致的情况下就属于同源

    在页面对应的地址不同源的情况下,那么浏览器就会判定为跨域,就会导致如下的问题
    1、Ajax请求不能正常发送
    2、无法获取DOM元素进行操作
    3、无法读取cookie、LocalStorage和IndexDB

    浏览器为什么要设置跨域

      跨域只会出现在浏览器端,因为浏览器的形态是很开放的,所以我们就需要对他进行对应的限制
      其次,同源策略主要是为了保证用户信息的安全,可以分为两种:Ajax同源策略和DOM同源策略
      Ajax同源策略主要是使得不同源的页面不能获取Cookie并且不能发起Ajax请求,这样在一定程度上就防止了CSRF攻击
      DOM同源策略也一样,它限制了不同源页面不能获取DOM,这样就可以防止一些恶意网站在自己的网站中利用iframe嵌入正规的网站并迷惑用户,一次来窃取用户的信息
    

    跨域的解决方式

      1、使用代理(proxy)     
      2、设置CORS
      3、JSONP
      4、...
    

    JSONP

      利用script标签没有跨域限制的漏洞,网页可以得到从其他源动态产生的JSON数据,JSONP请求一定需要对方对方的服务器做支持才可以
      优缺点:
            1、(优点)Ajax和JSONP都是客户端朝服务端发送请求,从而获取数据的方式,但是Ajax属于同源策略,而JSONP属于非同源策略。
            2、(优点)兼容性好,能解决主流浏览器跨域访问的问题
            3、(缺点)仅支持GET请求
            4、(缺点)不安全,可能会遭到XXS攻击
    

    CORS

  • 相关阅读:
    iOS开发之--打印一堆奇怪东西的解决方案
    iOS开发之--从URL加载图片
    iOS开发之--搭建本地的SVN服务器
    HTML5
    swift
    swift
    HTML 换行
    HTML 注释
    HTML 水平线
    /etc/rc.d/rc.local
  • 原文地址:https://www.cnblogs.com/tulintao/p/14269121.html
Copyright © 2011-2022 走看看