PHP設定多域名允許跨域存取

2020-07-16 10:05:45
針對 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'] 變數也為空字串。

推薦教學:PHP教學

以上就是PHP設定多域名允許跨域存取的詳細內容,更多請關注TW511.COM其它相關文章!