Spécifier Plusieurs sous-Domaines avec le Contrôle d'Accès d'Origine

Je suis en train de permettre l'accès à tous les sous-domaine sur mon site afin de permettre à la croix-domaine des appels AJAX. Est-il un moyen de spécifier tous les sous-domaines d'un site comme *.example.com ou sinon, pourquoi ne le suivant pas de travail quand j'ai plus d'un domaine répertoriés:

header('Access-Control-Allow-Origin: http://api.example.com http://www.example.com');

J'ai lu à travers la question suivante qui semble être le même, si ce n'est le même que celui-ci, autre que le fait que je veux avoir accès à des sous-domaines et celui-ci se réfère à des domaines généraux.

Access-Control-Allow-Origin Plusieurs Domaines D'Origine?

Si la question ci-dessus est la solution à ce problème, alors comment suis-je en mesure de récupérer à l'origine de l'en-tête. Il semble que $_SERVER['HTTP_ORIGIN'] est très peu fiable et pas même de la croix-navigateur. J'ai besoin d'être en mesure de voir l'origine dans n'importe quel navigateur qui peut indiquer une erreur lorsque vous tentez d'envoyer un appel AJAX à l'aide de javascript.

  • Comme vous l'avez dit, la première partie de la réponse à votre question dans le lien. Concernant votre deuxième question: si le navigateur tente un appel Ajax qui est interdit par la Croix Domaine des Politiques, la demande échoue et ne pas atteindre le serveur. L'erreur devra être traitée dans le navigateur.
  • Je suis conscient que je vais recevoir une erreur, mais cette erreur sera fourni après que l'appel a tenté d'accéder au fichier externe. Si le fichier rejette alors l'erreur sera levée. Si j'ai la tête pour permettre l'accès à tous, alors cela va fonctionner, mais c'est trop ouvert pour moi, donc je tiens à le définir pertinentes à l'origine de la demande. Donc, je voudrais savoir comment faire pour obtenir l'origine de la demande à l'aide de PHP.
  • Pouvez-vous élaborer sur ce que vous entendez par "$_SERVER['HTTP_ORIGIN'] est très peu fiable et pas même de la croix-navigateur"? $_SERVER['HTTP_ORIGIN'] est un serveur-côté de la valeur qui n'est pas exécuté dans le navigateur.
  • Oui, je suis d'accord et je suis un peu confus par elle non croix-navigateur compatible, mais j'ai vu ce qui a déclaré sur une autre question. Je n'ai jamais entendu parler de HTTP_ORIGIN et que vous souhaitez uniquement utiliser si je peux être sûr que cela fonctionne dans tous les navigateurs.
  • stackoverflow.com/a/18958914/889949
InformationsquelleAutor Ben Carey | 2012-03-09