Maison  >  Article  >  développement back-end  >  Comment résoudre un problème inter-domaines en php

Comment résoudre un problème inter-domaines en php

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-08-30 10:47:3310115parcourir

Comment résoudre un problème inter-domaines en php

PHP résout les problèmes inter-domaines

L'accès inter-domaines est souvent requis dans le processus de travail sur des projets. Ici, nous présentons 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');

Recommandations associées : "Tutoriel PHP"

3. Autoriser l'accès à plusieurs noms de domaine

Dans les projets réels, il est préférable de spécifier des noms de domaine accessibles sur plusieurs 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