最简单的移动端跨域方式:Access-Control-Allow
2017-03-22 本文已影响1744人
microkof
js跨域是一个老生常谈的话题,但是如今的时代,Access-Control-Allow-Origin越来越成为主流的跨域方案,尤其是移动端,浏览器都是支持的。
原理
Access-Control-Allow-Origin的原理很简单,就是服务器端设置指定的域允许跨域访问,当然这也需要浏览器同时支持。
操作
通常我们服务器端都是用php语言,php设置Access-Control-Allow-Origin就一句:
header('Access-Control-Allow-Origin: http://www.baidu.com');
但是它麻烦之处在于只能设定一个域名,或者是写成*(即星号,允许所有域名跨域),显然星号就太泛滥了,但是有时候一个域名又不够用,怎么办?
可以写条件语句:
if ( strpos($_SERVER['HTTP_REFERER'], 'http://aaa.com') === 0 ) {
header('Access-Control-Allow-Origin: http://aaa.com');
} elseif ( strpos($_SERVER['HTTP_REFERER'], 'https://bbb.com') === 0 ) {
header('Access-Control-Allow-Origin: https://bbb.com');
} elseif ( strpos($_SERVER['HTTP_REFERER'], 'http://ccc.com') === 0 ) {
header('Access-Control-Allow-Origin: http://ccc.com');
}