1. 程式人生 > >PHP實現跨域的解決方法

PHP實現跨域的解決方法

PHP實現跨域解決方法 
如果要實現跨域通過設定Access-Control-Allow-Origin來實現跨域。

例如:客戶端的域名是client.runoob.com,而請求的域名是server.runoob.com。

如果直接使用ajax訪問,會有以下錯誤:

XMLHttpRequest cannot load http://server.runoob.com/server.php. No ‘Access-Control-Allow-Origin’ header is present on the requested resource.Origin ‘http://client.runoob.com

’ is therefore not allowed access.

1、允許單個域名訪問 
指定某域名(http://client.runoob.com)跨域訪問,則只需在http://server.runoob.com/server.php檔案頭部新增如下程式碼:

header(‘Access-Control-Allow-Origin:http://client.runoob.com‘); 
2、允許多個域名訪問 
指定多個域名(http://client1.runoob.comhttp://client2.runoob.com等)跨域訪問,則只需在http://server.runoob.com/server.php

檔案頭部新增如下程式碼: 
origin=isset(origin=isset(_SERVER[‘HTTP_ORIGIN’])? $_SERVER[‘HTTP_ORIGIN’] : ”;

$allow_origin = array( 
http://client1.runoob.com‘, 
http://client2.runoob.com’ 
);

if(in_array(origin,origin,allow_origin)){ 
header(‘Access-Control-Allow-Origin:’.$origin); 

3、允許所有域名訪問 
允許所有域名訪問則只需在

http://server.runoob.com/server.php檔案頭部新增如下程式碼:

header(‘Access-Control-Allow-Origin:*’);