Access-Control-Allow-Origin跨域访问

PHP 设置跨域访问:

header("Access-Control-Allow-Origin:http://api.maxianwei.cn");

允许api.maxianwei.cn访问 ,那么要允许所有域名访问呢:

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

要设置多个域名呢? Access-Control-Allow-Origin 只能设置一个域名 用逗号或其他连接符合是不行的,其实只要判断请求来源域名是不是自己允许的,然后设置即可代码如下:

$orginAllows = ['http://api.maxianwei.cn','http://api2.maxianwei.cn'];
$referOrgin = $_SERVER['HTTP_REFERER'];
$pattern = '/(http[s]{0,1}:\/\/[^\/]*)\/.*/';
preg_match($pattern, $referOrgin, $match);
$refer = $match[1];
if(in_array($refer,$orginAllows)){
   header("Access-Control-Allow-Origin:{$refer}");
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注