Maison >développement back-end >tutoriel php >Solution au problème inter-domaines PHP

Solution au problème inter-domaines PHP

angryTom
angryTomavant
2019-10-14 17:19:206836parcourir

Cet article réalise le cross-domain en définissant Access-Control-Allow-Origin. Par exemple : le nom de domaine du client est client.php.cn et le nom de domaine demandé est server.php.cn. Si vous utilisez ajax pour y accéder directement, vous obtiendrez l'erreur suivante :

XMLHttpRequest ne peut pas charger http:/server.php.cn/server.php No 'Access-Control-Allow-Origin. ' est présent sur la ressource demandée. L'origine 'http://client.php.cn' n'est donc pas autorisée à accéder.

1. Autoriser l'accès à un seul nom de domaine

spécifié Pour un accès inter-domaines à un certain nom de domaine (http://client.php.cn), il vous suffit d'ajouter le code suivant à l'en-tête du http://server.php.cn /server.php fichier :

<?php
header(&#39;Access-Control-Allow-Origin:http://client.php.cn&#39;);

2. Autoriser plusieurs noms de domaine à accéder

Spécifiez plusieurs noms de domaine (http://client1.php.cn, http : //client2.php.cn, etc.) pour un accès inter-domaines, puis ajoutez simplement le code suivant à l'en-tête du fichier http://server.php.cn/server.php :

<?php
$origin = isset($_SERVER[&#39;HTTP_ORIGIN&#39;])? $_SERVER[&#39;HTTP_ORIGIN&#39;] : &#39;&#39;;  
$allow_origin = array(  
    &#39;http://client1.php.cn&#39;,  
    &#39;http://client2.php.cn&#39;  
);

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

Autoriser tous les noms de domaine à accéder Ensuite, ajoutez simplement le code suivant à l'en-tête du fichier http://server.php.cn/server.php :

<?php
header(&#39;Access-Control-Allow-Origin:*&#39;);

Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer