PHP解决跨域问题

代码最前面加上这条命令

header('Access-Control-Allow-Origin: *');

1、允许单个域名访问

header(‘Access-Control-Allow-Origin:http://www.startphp.cn');
header(‘Access-Control-Allow-Methods:POST’); //表示只允许POST请求
header(‘Access-Control-Allow-Headers:x-requested-with, content-type’); //请求头的限制

2、不限制域名

header(‘Access-Control-Allow-Origin:*’);
3、允许多个域名访问
在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。

// 设置能访问的域名
static public $originarr = [
https://test1.com‘,
https://test2.com‘,
];

php允许多个域名跨域解决方案(从逻辑上控制,配置里面一次只能写一个

$allow_origin = array(
//你的访问域名
'https://s.xxx.com',
);
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}

THE END