Comment résoudre les problèmes inter-domaines en php

王林
Libérer: 2023-03-08 06:20:01
avant
3347 Les gens l'ont consulté

Comment résoudre les problèmes inter-domaines en php

Qu'est-ce que le cross-domain ?

Cross-domain signifie que le navigateur ne peut pas exécuter de scripts provenant d'autres sites Web. Cela est dû à la politique de même origine du navigateur, une restriction de sécurité imposée par le navigateur.

La soi-disant même origine signifie que le nom de domaine, le protocole et le port sont les mêmes.

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

header('Access-Control-Allow-Origin: *');
Copier après la connexion

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

header('Access-Control-Allow-Origin: https://test.com');
Copier après la connexion

3. Autoriser plusieurs noms de domaine à accéder à

<🎜. >Dans les projets réels, il est préférable de spécifier un nom de domaine accessible à travers 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 = [
   &#39;https://test1.com&#39;,
   &#39;https://test2.com&#39;,
];
 
/**
 *  公共方法调用
 */
static public function setheader()
{
   // 获取当前跨域域名
   $origin = isset($_SERVER[&#39;HTTP_ORIGIN&#39;]) ? $_SERVER[&#39;HTTP_ORIGIN&#39;] : &#39;&#39;;
   if (in_array($origin, self::$originarr)) {
      // 允许 $originarr 数组内的 域名跨域访问
      header(&#39;Access-Control-Allow-Origin:&#39; . $origin);
      // 响应类型
      header(&#39;Access-Control-Allow-Methods:POST,GET&#39;);
      // 带 cookie 的跨域访问
      header(&#39;Access-Control-Allow-Credentials: true&#39;);
      // 响应头设置
      header(&#39;Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token&#39;);
   }
}
Copier après la connexion
Recommandations associées :

Tutoriel php

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!