让跨域不再头疼

一、跨域?

1、什么是跨域?

跨域,指的是从一个域下访问另一个域的资源。

注:只要协议、域名、端口有任何一个不同,都被当作是不同的域,之间的请求就是跨域操作。

2、跨域的原因?

浏览器的同源策略会导致跨域,这里同源策略又分为以下两种;

  1. DOM同源策略:禁止对不同源页面DOM进行操作。这里主要场景是iframe跨域的情况,不同域名的iframe是限制互相访问的;
  2. XmlHttpRequest同源策略:禁止使用XHR对象向不同源的服务器地址发起HTTP请求;

3、为什么需要限制跨域?

安全,安全,安全。

  1. cookie安全;
    假如你登录了银行网站后,又访问了某恶意网站,它便可以拿到你银行登录的一系列cookie,然后对银行发起各种恶意操作,细思极恐;

  2. DOM安全;
    假如有个恶意网站嵌套了一个指向某银行网站的iframe,并且与窗口等宽高,那么你在iframe里面的所有操作节点,外层恶意网站都能够获取到,从而发起攻击;

  3. 资源安全。
    假如你项目的AJAX接口,项目资源全都暴露在外,那么一个普通的本地HTML页面都可以随意请求你的项目资源,这样当然是极度不安全的;

注:

你可能感兴趣的:(让跨域不再头疼)