這篇文章帶給大家的內容是介紹PHP如何解決跨域存取問題? (程式碼範例),讓大家了解實作跨域存取的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
在做專案的過程中經常需要跨域存取。這篇文章主要就來跟大家介紹一下 在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');
}
}
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多相關影片教學推薦:PHP教學!
以上是PHP如何解決跨域存取問題? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!