Maison  >  Article  >  développement back-end  >  Comment résoudre le problème inter-domaines PHP

Comment résoudre le problème inter-domaines PHP

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-09-25 16:31:385393parcourir

Comment résoudre le problème inter-domaines PHP

Dans le processus de travail sur des projets, un accès inter-domaines est souvent requis. Cet article présente principalement comment résoudre les problèmes inter-domaines en PHP.

1. Autoriser tous les noms de domaine à accéder à

header('Access-Control-Allow-Origin: *');

2 Autoriser un seul nom de domaine à accéder à

header('Access-Control-Allow-Origin: https://test.com');

Connexe. recommandations : "tutoriel php

3. Autoriser plusieurs noms de domaine à accéder

Dans les projets réels, il est préférable de spécifier des noms de domaine qui est accessible sur tous les domaines pour augmenter la sécurité. Il peut être écrit dans une classe publique pour encapsuler un appel de méthode.

// 设置能访问的域名
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');
   }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn