针对 PHP 语言设置多域名允许跨域访问

服务器变量:

服务器变量存储在 $_SERVER 数组中,在这个数组中有一个特殊的键值:HTTP_ORIGIN。这个键只在跨域的时候才会存在值,同源时为空字符串

响应头设置允许某域名访问:access-control-allow-origin

header 函数可以设置允许某域名跨域访问,形式为 header('access_control_allow_origin:*')。

贴代码:

$allow_origin = array(

'a.baidu.com',

'b.baidu.com',

);

//跨域访问的时候才会存在此字段

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

if (in_array($origin, $allow_origin)) {

header('Access-Control-Allow-Origin:' . $origin);

} else {

return;

}

note:通过接口工具请求接口时 $_SERVER['HTTP_ORIGIN'] 变量也为空字符串。