Croix de domaine ajax POST dans chrome

Il y a plusieurs sujets sur le problème avec la croix-domaine de l'AJAX. J'ai été en regardant ces et la conclusion semble être ceci:

En dehors de l'aide de quelque chose comme JSONP, ou un proxy solution, vous ne devriez pas être en mesure de faire une base de jquery $.post() à un autre domaine

Mon code de test ressemble à quelque chose comme ceci (en cours d'exécution sur "http://myTestdomain.tld/path/file.html")

var myData = {datum1 : "datum", datum2: "datum"}
$.post("http://External-Ip:port", myData,function(return){alert(return);});

Quand j'ai essayé ceci (la raison pour laquelle j'ai commencé à regarder), chrome-console m'a dit:

XMLHttpRequest ne peut pas charger
http://External-IP:port/page.php. Origine
http://myTestdomain.tld n'est pas autorisé
par Access-Control-Allow-Origin.

Maintenant, c'est, autant que je peux dire, attendu. Je ne devrais pas être capable de faire cela. Le problème c'est que le POSTE NE fait venir auge. J'ai un simple script qui enregistre les $_POST à un fichier, et il est clair que le poste devient creux. Les données réelles je retour n'est pas livré à mon script d'appel, qui semble de nouveau prévu en raison de l'Accès de problème de contrôle. Mais le fait que le poste est effectivement arrivé sur le serveur m'a confus.

  • Est-il exact que je suppose que le code ci-dessus en cours d'exécution sur "myTestdomain" ne devrait pas être en mesure de faire un simple $.post() à l'autre domaine Externe (IP)?
  • Est-il attendu que la demande serait en fait arriver à l'extérieur-ip du script, même si la sortie n'est pas reçu? ou est-ce un bug. (Je suis en utilisant google Chrome 11.0.696.60 )
Cela signifie qu'il n'protéger (un peu) les XSS exploits, mais pas CSRF? Me semble bizarre quand même 😛
Je rétracte mon commentaire comme par Michiels réponse, il fait réellement sens de la sécurité.
vous pouvez essayer ce CHROME EXTENSION

OriginalL'auteur Nanne | 2011-05-09