PHP解決跨域問題
阿新 • • 發佈:2018-12-20
1、允許所有域名訪問
header('Access-Control-Allow-Origin: *');
2、允許單個域名訪問
header('Access-Control-Allow-Origin: https://test.com');
3、允許多個域名訪問
- 在實際專案中最好指定能跨域訪問的域名,增加安全性。可以寫在一個公共類裡面,封裝一個方法呼叫。
// 設定能訪問的域名
static public $originarr = [
'https://test1.com',
'https://test2.com',
];
/**
* 公共方法呼叫
*/
static public function setheader()
{
// 獲取當前跨域域名
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
if (in_array($origin, self::$originarr)) {
// 允許 $originarr 陣列內的 域名跨域訪問
header('Access-Control-Allow-Origin:' . $origin);
// 響應型別
header('Access-Control-Allow-Methods:POST,GET');
// 帶 cookie 的跨域訪問
header('Access-Control-Allow-Credentials: true');
// 響應頭設定
header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');
}
} 