在做項目的過程中經常需要跨域訪問。這裡主要介紹一下 PHP 中怎麼解決跨域問題。 1、允許所有功能變數名稱訪問 2、允許單個功能變數名稱訪問 3、允許多個功能變數名稱訪問 在實際項目中最好指定能跨域訪問的功能變數名稱,增加安全性。可以寫在一個公共類裡面,封裝一個方法調用。 ...
在做項目的過程中經常需要跨域訪問。這裡主要介紹一下 PHP 中怎麼解決跨域問題。
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'); } }