PHP Ajaxドメイン横断問題解決案コードの例


本論文では、Access-Coontrol-Allow-Originを設定することにより、クロスドメインを実現する。
例えば、クライアントのドメイン名はclient.runoob.comであり、要求されたドメイン名はserver.runoob.comである。
直接ajaxを使って訪問すると、以下のエラーがあります。
XMLHttp Request cannot loadhttp://server.runoob.com/server.php. No'Access-Coontrol-Origin'header is present on the requested reource.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.comを選択しますhttp://client2.runoob.comドメインをまたぐ場合は、http://server.runoob.com/server.phpファイルヘッダに以下のコードを追加します。

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : ''; 
 
$allow_origin = array( 
  'http://client1.runoob.com', 
  'http://client2.runoob.com' 
); 
 
if(in_array($origin, $allow_origin)){ 
  header('Access-Control-Allow-Origin:'.$origin);    
} 
3、ドメイン名のすべてのアクセスを許可する
すべてのドメイン名へのアクセスを許可するには、http://server.runoob.com/server.phpファイルヘッダに以下のコードを追加します。header('Access-Control-Allow-Origin:*');以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。