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');
   }
}

あるいはthinkphpなど、自動的に返される200、400ページは、プリロードインタフェースがあるため、jsのjsonp