什么是跨域?怎么解决跨域问题?

2022-12-11 0 773

甚么是布吕马?

布吕马,指的是应用程序无法继续执行其它中文网站的JAVA。它是由应用程序的相混思路导致的,是应用程序施予的安全可靠管制。

简而言之相混是指,搜索引擎,协定,路由器均完全相同,不知道说实话,举个红豆:

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虽然都指向本机,但也属于布吕马。

应用程序继续执行javascriptJAVA时,会检查这个JAVA属于哪个页面,如果不是相混页面,就不会被继续执行。

化解办法:

1、JSONP:

使用方式就不赘述了,但是要注意JSONP只支持GET请求,不支持POST请求。

2、代理:

例如http://www.123.com/index.html需要初始化http://www.456.com/server.php,可以写一个接口http://www.123.com/server.php,由这个接口在后端去初始化http://www.456.com/server.php并拿到返回值,然后再返回给index.html,这就是一个代理的模式。相当于绕过了应用程序端,自然就不存在布吕马难题。

3、PHP端修改header(XHR2方式)

在php接口JAVA中加入以下两句即可:

header(Access-Control-Allow-Origin:*);//允

header(Access-Control-Allow-Method:POST,GET);//允许访问的方式

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务