2017-04-07

ajax 跨網域授權問題

//a.com.tw 用 ajax 抓 b.com.tw 的php 時, 
//b 站的php 要用 header("Access-Control-Allow-Origin: http://a.com.tw");
//授權給 http://a.com.tw 連入的ajax使用

//底下為 b.com.tw 的php 開頭語法
$http_origin = $_SERVER['HTTP_ORIGIN'];
$allow_origins = array();
//連入的站名
$allow_origins[] = "a.com.tw";
//有沒有 www 為不同來源
$allow_origins[] = "www.a.com.tw";
//要授權給多個須一一輸入
$allow_origins[] = "server1.com";
$allow_origins[] = "server2.com";
$allow_origins[] = "server3.com";
$allow_origins[] = "server4.com";
$allow_origins[] = "www.server1.com";
$allow_origins[] = "www.server2.com";
$allow_origins[] = "www.server3.com";
$allow_origins[] = "www.server4.com";
//如是用區域ip或實體ip 連入時
$allow_origins[] = "192.168.0.2";
$allow_origins[] = "10.0.0.3";
$allow_origins[] = "168.95.1.1";
foreach($allow_origins as $allow_origin){
if( $http_origin == "http://".$allow_origin || $http_origin == "https://".$allow_origin ){
header("Access-Control-Allow-Origin: ".$http_origin);
break;
}
}

?>