Maison >interface Web >js tutoriel >Comment activer les requêtes Ajax inter-domaines et éviter les erreurs Access-Control-Allow-Origin ?

Comment activer les requêtes Ajax inter-domaines et éviter les erreurs Access-Control-Allow-Origin ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-19 15:19:10937parcourir

How to Enable Cross-Domain Ajax Requests and Avoid Access-Control-Allow-Origin Errors?

Demande Ajax inter-domaines bloquée par Access-Control-Allow-Origin

Ce problème se produit lorsqu'une requête Ajax tente d'accéder à une ressource à partir d'un domaine différent, déclenchant l'erreur Access-Control-Allow-Origin. Dans ce cas spécifique, la requête Ajax est adressée à un serveur PHP distant à partir d'une application Sencha Touch 2.

Résoudre le problème

Pour résoudre cette erreur et permettre Ajax inter-domaines, le serveur doit être configuré pour ajouter un en-tête de réponse pour Access-Control-Allow-Origin. Cet en-tête spécifie les domaines autorisés qui peuvent effectuer des requêtes Ajax.

En PHP, cela peut être réalisé en modifiant l'en-tête de réponse comme suit :

header('Access-Control-Allow-Origin: *');
  • indique que le cross-domain Ajax est autorisé depuis n'importe quel domaine. Pour une sécurité accrue, vous pouvez spécifier uniquement des domaines de confiance au lieu d'utiliser un caractère générique (*).

Options supplémentaires

Configuration Apache ou .htaccess :

Si vous avez accès au fichier de configuration Apache ou au fichier .htaccess, vous pouvez également définir l'en-tête là :

Header set Access-Control-Allow-Origin *

Attention :

Bien que l'activation d'Ajax inter-domaines permet plus de flexibilité, elle désactive également la protection CORS, ce qui peut laisser les utilisateurs vulnérables aux attaques. Utilisez le caractère générique (*) uniquement si cela est absolument nécessaire. Au lieu de cela, il est recommandé de mettre sur liste blanche des domaines spécifiques, comme démontré dans l'exemple de code PHP fourni.

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