跨域问题’以及如何解决

Posted 瀧思葉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨域问题’以及如何解决相关的知识,希望对你有一定的参考价值。

(一)什么是跨域?what?

①跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器同源策略造成的,是浏览器施加安全限制【防止恶意的网站窃取数据

同源策略:
        浏览器的同源策略,限制了来自不同源"document"或脚本,对当前"document"读取或设置某些属性。 (白帽子讲web安全[1])
        从一个域上加载的脚本不允许访问另外一个域的文档属性。
    举个例子:
        比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。

【同源:域名,协议,端口 均相同。】eg:

http://www.123.com/index.html 调用 http://www.123.com/server.php非跨域

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域

http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域

http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域

http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

(二)怎么解决的?how?

以上是关于跨域问题’以及如何解决的主要内容,如果未能解决你的问题,请参考以下文章

如何解决跨域问题

CORS过程的介绍以及跨域问题

ajax基础4--什么是跨域以及如何解决跨域

phpStudy搭建本地后台环境并解决跨域问题

什么是跨域,以及解决方案

常见跨域解决方案以及Ocelot 跨域配置