PHP多个Access-Control-Allow-Origin

允许所有跨域请求

在 PHP 跨域设置中,我们会使用 header("Access-Control-Allow-Origin:*") 放行所有域名的跨域请求。

允许单一域名跨域

允许所有域名的跨域请求往往是不安全的,我们有时需要仅允许某个域名的跨域请求。单一域名可以这样设置:

header("Access-Control-Allow-Origin:http://127.0.0.1")

允许多个指定域名跨域

那么设置多个指定的 Access-Control-Allow-Origin 该如何 Code 呢?

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';

$allowOrigin = array(
	'http://xxx.xxx1.com',
	'http://xxx.xxx2.com',
	'http://xxx.xxx3.com',
	'http://xxx.xxx4.com'
);

if (in_array($origin, $allowOrigin)) {
	header("Access-Control-Allow-Origin:".$origin);
}

我们先通过 $_SERVER['HTTP_ORIGIN'] 获取请求的 Origin 信息,然后判断该请求来源域名是否在我们允许跨域的域名列表中,若该域名存在列表中,则设置:

header("Access-Control-Allow-Origin:".$origin);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值