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: *');
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!