xhr.open("POST", domaine externe

Avatar du membre
Mammouth du PHP | 1564 Messages

21 nov. 2013, 22:07

Bonjour,

je souhaite pouvoir réaliser une requête ajax sur un autre domaine, voici mon code actuel:

Les codes suivants sont exécutés sur le domaine http://example.com

[javascript]<script type="text/javascript" src="http://monsite.com/code.php"></script>[/javascript]

Contenu du fichier code.php:
[javascript]document.write('<script type="text/javascript" src="http://monsite.com/xhr.js"></script>');[/javascript]

Contenu du fichier xhr.js:
La requête xhr en mode "POST" vers l'URL http://monsite.com/post.php

Mais voila, Firebug m'affiche en rouge:
POST http://monsite.com/post.php 200 OK 125ms sans aucune réponse...


Ma question, est-il possible d'avoir une réponse ? (lol, bizarre comme question... ^^)

Mammouth du PHP | 1511 Messages

22 nov. 2013, 22:19

Via le cross site request policy tu peux faire de l'Ajax entre deux domaines.

Avatar du membre
Mammouth du PHP | 1564 Messages

22 nov. 2013, 22:43

Merci pour ta réponse

Je veux pourvoir le faire sur n'importe quel site, même ceux qui ne sont pas à moi et ne pas avoir de souci de sécurité (si il peut y en avoir)

Mammouth du PHP | 1511 Messages

23 nov. 2013, 09:00

Voilà, j'ai ressorti les limbes d'un ancien projet qui utilisait le cross domain origin policy.
//Allow cross domain requests
header("Access-Control-Allow-Origin: http://fqdn/");
header("Access-Control-Allow-Methods: GET,POST,OPTIONS", true);
header("Access-Control-Allow-Headers: x-requested-with", true);
Lors d'une requête cross-domain, ton navigateur va envoyer une requête de type OPTION afin de savoir si la cible autorise les requêtes cross-domain.
Puis une deuxième soit en GET soit en POST selon ta requête Ajax.
Attention donc à bien vérifier la variable serveur REQUEST_METHOD afin de savoir si c'est la requête OPTION ou la requête Ajax.

Avatar du membre
Mammouth du PHP | 1564 Messages

23 nov. 2013, 12:53

Merci mais le fait d'autoriser un domaine quelconque à pouvoir exécuter mon script, ya pas une faille de sécurité ?

Mammouth du PHP | 1511 Messages

23 nov. 2013, 15:54

Non justement car c'est toi qui définis le domaine autorisé à envoyer des données.

Avatar du membre
Mammouth du PHP | 1564 Messages

23 nov. 2013, 16:51

Donc pas sécurisé, merci pour ton aide :wink:

Mammouth du PHP | 1511 Messages

23 nov. 2013, 22:20

Ce n'est pas plus sécurisé qu'un appel Ajax normal. N'importe qui peut appeler le script.