Domaines et Ajax

Fermé
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 13 janv. 2011 à 20:37
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 - 6 juin 2012 à 11:30
Bonjour,
j'ai un problème avec ajax et les sous domaines et je voudrais savoir comment faire.

Nous avons le domaine principal : www.dom.com
le sous domaine : s1.dom.com

Et je voudrais effectuer une requête Ajax (Utilisation de load()) dont le fichier est hébergé sur www.

J'ai vu sur le net l'utilisation de "document.domain" mais impossible de le mettre en place.

Puis-je avoir plus d'explications svp ?

Merci d'avance



2 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
13 janv. 2011 à 23:10
Salut.

Tu ne peux pas faire une requête XmlHttpRequest sur un fichier accessible via un domaine différent de celui de la page qui exécute le Javascript, pour des raisons de sécurité.

Tu peux essayer cette méthode encore très peu supportée :
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/245581-lxmlhttprequest-cross-domain

Mais pour faire de l'AJAX, il y a d'autres méthodes que l'XmlHttpRequest.
Tu peux aussi insérer via Javascript une balise <script> ayant comme cible (src) un script (PHP) qui génère du Javascript qui sera exécuté (modifier une variable, afficher quelque-chose, etc).
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244943-dynamic-script-loading
0
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
14 janv. 2011 à 00:10
Merci, j'ai trouvé ça :
soit
header("Access-Control-Allow-Origin: *");

soit
header("Access-Control-Allow-Origin: http://ssdom.monsite.fr");

c'est bien ou pas ?
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
14 janv. 2011 à 17:21
Oui, sur le fichier cible.
0
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
14 janv. 2011 à 19:21
ok c'est intégré et ça marche mais autre pb que j'avais pas vu avant, c'est de passé d'un sous domaine à un autre avec les même sessions, c'est possible ça ?

Je pense que oui mais comment ? Car mes tentative on échoué !
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
14 janv. 2011 à 19:33
Les sessions utilisent un cookie pour stocker l'identifiant unique (PHPSESSID) de celle-ci.
Ainsi, le navigateur le transmet, et le serveur peut récupérer les informations.

Tu peux modifier les paramètres avec session_set_cookie_params()
0
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
14 janv. 2011 à 20:39
Oui je l'avais testé mais ça ne fonctionne pas, voici le code :
<?php 
session_set_cookie_params(3600, '/', '.monsite.com'); 
session_start(); 
?>

Je mettais se code sur toutes les pages où j'ouvre une session
Mais sans résultat
0
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
15 janv. 2011 à 00:36
e viens de faire les test sous différent navigateur, pas de problème pour Chrome et safari mais sous FFX, IE, Opéra ça ne fonctione pas :

header("Access-Control-Allow-Origin: http://ssdom.monsite.fr"); 


si je fais le test
header("Access-Control-Allow-Origin: *"); 
ça fonctionne mais pas top niveau sécurité quelqu'un sait pourquoi ça ne fonctionne pas ?
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
6 juin 2012 à 11:30
désolé d'arriver si tard mais bon...

dans le tutos il est bien écris "Domaine" donc :
header("Access-Control-Allow-Origin: monsite.fr"); devrai suffire ( en gros tu ne laisse que ton domaine ( et tout les sous domaines ) accèder à ton fichier
0