xmlhttprequest et fichier distant ...


Kaliiii
WRInaute impliqué
WRInaute impliqué
 
Messages: 603
Inscription: 2 Mar 2005

xmlhttprequest et fichier distant ...

Message le Ven Fév 09, 2007 16:55

La question a été posée sur d'autres forums, mais je n'ai trouvé pour le moment aucune réponse concrete a cette question.

Voila le principe :
On donne acces a un contenu précis sur le serveur web A au serveur web B en utilisant la méthode xmlhttprequest.

Le fichier .js et le script appelé sont hébergés sur le serveur A. lorsque l'utilisateur execute le script sur le serveur B, le navigateur retourne l'erreur :
Erreur : uncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open

En théorie, XMLHttpRequest par un soucis de pseudo sécurité ne permet pas l'acces a un fichier distant. Pourtant, certains comme Google ou encore Weborama l'utilisent dans des outils comme google analytics ou Google Adsense.

Le code que j'avais composé fonctionne tres bien en local et était etrangement ressemblant a celui de google analytics.

Mais des que je l'execute depuis un autre serveur via :
<script src="http://monserveur.com/file.js"></script>

La il me retourne l'erreur précédente.

J'ai regardé le js de google analytics qui me parait pour le moins obscur.

Quelqu'un a une solution a apporter ?


DreamJap
WRInaute discret
WRInaute discret
 
Messages: 114
Inscription: 6 Mai 2005

Message le Ven Fév 09, 2007 18:08

J'ai cette solution :

Pour le probleme de sécurité d’appel d’un XML sur un serveur distant, ma solution a été de faire un server-side proxy ! En gros une simple page en ASP ou PHP hebergé sur le meme serveur que l’application JS et qui recupere le fichier XML . Ex : http://monserveurlocal/monproxy.asp?url ... ichier.xml La page n’a qu’a recuperer le flux XML distant et le renvoyer tout simplement


Sinon petit code JS pour enlever ce probléme sous Firefox :

Code: Tout sélectionner
try {
    netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
}
catch(e) {}

Sachant que IE va demander à l'utilisateur d'accepter les données distantes.

Voilà, c'est tout ce que j'ai.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: ISFR, Koxin-L.fr et 1 invité