Je veux créer un cookie d'un domaine une fois que l'utilisateur est enregistré en PHP. et rendre ce cookie accessible à 4 autres domaines non sous-domaines. Je sais que les cookies ne sont pas conçus pour être accessibles pour d'autres domaines. Par exemple, j'ai défini une variable de cookies $ user_email à partir de domaine www.firstdomain.com et souhaitez y accéder dans d'autres domaines tels que www.seconddomain.com, www.thirddomain.com, etc. Peut être ceci peut être fait à l'aide de PHP ou JavaScript. Aucune idée s'il vous plaît. P>
Merci! P>
5 Réponses :
J'avais résolu exactement le même problème (en fait aussi pour 4 domaines). La seule solution que j'ai proposée était, pour inclure 3 iframes cachés sur la "page de connexion réussie" et ces iframes ne font que charger www.domain1.com/register_session.php, www.domain2.com/register_session.php, etc. ...
comme paramètre pour register_session.php, j'utilise 'SID' qui contient la session ID de session: p> Ceci est en réalité pour maintenir la session vivante sur tous ces domaines, mais Il en va de même pour votre cas avec des cookies. p> p>
Alternativement, vous pouvez simplement faire une demande d'ajax d'origine croisée via Cors pour transmettre les informations entre les domaines.
Lorsque vous recherchez la liste de cookies pour Cookies valides, une comparaison de la Les attributs de domaine du cookie sont fait avec le nom de domaine Internet de l'hôte à partir de laquelle l'URL sera récupéré. S'il y a un match de queue, alors le cookie passera par chemin correspondant à voir si cela devrait être envoyé. "Correspondance de la queue" signifie que le domaine L'attribut est apparié contre la queue du nom de domaine pleinement qualifié de l'hôte. Un attribut de domaine de "ACME.com" correspondrait aux noms d'hôtes "anvil.acme.com" ainsi que "livraison.crate.acme.com". Seuls les hôtes dans le domaine spécifié peut définir un Cookie pour un domaine et des domaines doit avoir au moins deux (2) ou trois (3) des périodes de prévention des domaines de La forme: ".com", ".edu" et "VA.US". Tout domaine qui échoue dans l'un des Les sept domaines spéciaux de niveau supérieur La figure ci-dessous ne nécessite que deux périodes. Tout autre domaine nécessite au moins Trois. Les sept haut niveau spécial Les domaines sont: "com", "Edu", "Net", "Org", "GOV", "MIL" et "INT". P>
La valeur par défaut du domaine est la Nom d'hôte du serveur qui généré la réponse à la cookie. p>
Lire ici . p>
Vous pouvez charger un iframe à partir d'un hôte qui se recharge ensuite avec la valeur de cookie codée dans la partie segment (après le #). p>
Vous pouvez alors accéder à l'attribut document.location. de la fenêtre mère (frappe la seule chose accessible). Décodez-le et transmettez-le à votre serveur faire une demande AJAX. P>
Cela pourrait ressembler à ce que cela puisse ressembler à. p>
xss.php (situé sur cookies.example.com): p>
<iframe id="cookies" src="http://cookies.example.com/xss.php"></iframe> you need to somehow delay the following of do it in a loop that stops after 5 seconds or something. if(document.getElementById('cookies').location != 'http://cookies.example.com/xss.php') { // read location, extract hashtag, json decode using javscript, there you have your user. send it to server for validation or whatever. }
Pourriez-vous modifier votre réponse (peut-être donner un article de code de l'échantillon) afin que je puisse vous remettre vous-même? Je décide accidentellement mon upvote.
Je pense que cela peut être fait de manière plus élégante, mais le principe reste le même
C'est en fait un moyen assez intelligent de recevoir des données d'un autre domaine. Je vais devoir garder ça à l'esprit dans le futur.
Comme vous l'avez déjà dit, un cookie ne peut être défini que pour un domaine de ce domaine (y compris ses sous-domaines). Et si vos domaines ne partagent pas de superdomain commun, vous devez définir chaque cookie pour chaque domaine séparément. P>
Vous pouvez le faire avec un script qui sur chaque domaine qui définit le cookie pour vous. Mais assurez-vous d'authentifier les demandes à ces scripts afin que vous puissiez définir les cookies. P>
Je pense que cet article explique assez succinctement: Codeguru.com/cshaarp/cshaarp/cs_internet/article.php/c19417/...
J'ai fait des scripts pour gérer le cookie multi-domaine: p>
Très cool, va lui donner un tourbillon plus tard aujourd'hui, jetez-le sur GitHub et je contribuerai
Si vous souhaitez accéder à Cookie dans différents domaines afin que cela puisse être effectué à l'aide de Trick JavaScript. Comme le cookie est accessible dans le même domaine. P>
Créez un cookie sur le navigateur de l'utilisateur à l'aide de JavaScript sur votre premier domaine. P> Li>
Définissez le nom de la fenêtre sur une valeur de cookie que vous souhaitez transporter vers un autre domaine en utilisant Étape 2 doit être effectué sur chaque page du domaine qui a créé le cookie. Cela pourrait être facilement en appelant un fichier JavaScript sur toutes les pages. P> LI>
Lorsque vous vous déplacez vers un autre domaine, vous souhaitez accéder à la valeur de cookie mentionnée ci-dessus, accédez-y à l'aide de Créez de nouveaux cookies sur ce domaine et assignez cette valeur. P> LI>
ol> window.name code>. p> l> l>
window.name code> comme la fenêtre code> n'a pas changé. p> li>