Maison  >  Article  >  développement back-end  >  Comment configurer un projet php inter-domaines

Comment configurer un projet php inter-domaines

PHPz
PHPzoriginal
2023-04-10 09:35:493937parcourir

Cross-Origin Resource Sharing (CORS) est une technologie Web qui permet aux navigateurs d'envoyer des requêtes AJAX à différents domaines lors de la demande de ressources. Lors de l'utilisation d'un service Web, CORS permet au navigateur de demander des données à un autre domaine. Cet article explique comment configurer l'accès entre domaines dans les projets PHP.

Qu’est-ce que le cross-domain ?

Le cross-domain se produit lorsqu'en développement Web, un script exécuté par le navigateur tente d'accéder à une origine différente de celle du serveur d'où provient la page. Par exemple, sur la page Web de www.example.com, si le script tente d'accéder au serveur de http://www.example.org, cela s'appelle une requête inter-domaines.

Pourquoi devons-nous mettre en place du cross-domain ?

Les navigateurs Web implémentent la politique de même origine, qui est une politique de sécurité Web de base qui restreint un script à accéder uniquement au contenu du même site d'origine. Un site homologue fait référence à un site avec le même protocole , le même nom de domaine et le même port. Sans la restriction de la politique de même origine, les requêtes inter-domaines peuvent facilement attaquer le compte de l'utilisateur. Par exemple, si vous achetez un livre en ligne, un script malveillant peut facilement accéder à votre compte depuis un autre domaine et utiliser votre compte pour effectuer un paiement.

Comment mettre en place du cross-domain ?

Dans les projets PHP, vous pouvez créer des requêtes cross-origin (CORS) en définissant des en-têtes de réponse.

    Access-Control-Allow-Origin
Définit l'en-tête de réponse "Access-Control-Allow-Origin", qui autorise les requêtes provenant d'un certain domaine. Par exemple, si une requête AJAX nécessite l'envoi de la requête depuis « http://localhost:3000 », vous pouvez ajouter la ligne suivante à l'en-tête de réponse du serveur.

header("Access-Control-Allow-Origin:http://localhost:3000");
    Access-Control-Allow-Headers
Le paramètre Allow-Origin consiste à autoriser les requêtes inter-domaines pour un certain nom de domaine. Access-Control-Allow-Headers doit également être défini pour autoriser les en-têtes de requête personnalisés. Par exemple, si la requête AJAX souhaite envoyer un en-tête de requête personnalisé « X-Custom-Header », vous devez ajouter la ligne suivante à l'en-tête de réponse.

header("Access-Control-Allow-Headers: X-Custom-Header");
    Access-Control-Allow-Methods
Access-Control-Allow-Methods Spécifiez quelles méthodes de requête sont autorisées en ajoutant les lignes suivantes à l'en-tête de réponse. Par exemple, cet exemple de paramètres autorise les méthodes GET et POST.

header('Access-Control-Allow-Methods: GET, POST');
    Access-Control-Allow-Credentials
Si des cookies doivent être envoyés, Access-Control-Allow-Credentials doit être défini sur "true". Par exemple, demandez au navigateur de demander un cookie.

header('Access-Control-Allow-Credentials: true');
Résumé

L'implémentation de requêtes d'origine croisée (CORS) dans les projets PHP nécessite de définir des en-têtes de réponse en définissant Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Methods et Access-Key. les en-têtes de réponse tels que Control-Allow-Credentials permettent au navigateur d'autoriser les requêtes d'origine croisée lors de l'envoi de requêtes.

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