PHP设置多域名允许跨域访问

文章描述:

php如何设置多个域名跨域访问

当前端访问后端的时候报错:Access to XMLHttpRequest at ‘https://api.xxx.com’ from origin ‘http://localhost:80’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

表示不允许跨越访问,如何解决多个域名跨越访问,下面就给大家讲解一哈。

 

允许所有域名

允许所有域名可以访问,安全系数低,可以在项目开发的时候使用,如果项目上线后被攻击的几率大。

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

 

 

指定允许域名

指定多域名访问可以跨越访问,安全系数也比较高点。

$allow_origin = ['a.miyil.com','b.miyil.com','http://localhost:80']; 
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';  //跨域访问的时候才会存在此字段 
if (in_array($origin, $allow_origin)) {     
    header('Access-Control-Allow-Origin:' . $origin); 
} else {    
    return; 
}

 

发布时间:2022/09/29

发表评论