web-dev-qa-db-fra.com

Lire un cookie d'un autre domaine

Je développe une page/un formulaire pour une campagne au sein de mon entreprise. Cependant, la première étape consiste à vérifier si la personne est connectée. Ceci est facilement vérifié par rapport à un cookie - CLIENT - qui est défini une fois connecté.

Cependant: 1) Je développe localement, pas sur le même domaine, et, par conséquent, je ne vois pas ce cookie 2) La campagne finale peut ou non résider sur le domaine réel. Ils peuvent finir par utiliser une URL personnalisée ou quelque chose.

À cette fin, supposons que je n'ai PAS accès au domaine principal où le cookie a été défini.

Comment puis-je lire ce cookie hors du domaine? Oh, et puisque les informaticiens ne nous laissent pas toucher au back-end grognement, ce doit être une solution JS.

Merci!

19
Reverend Bubbles

Tu ne peux pas.

Les seuls cookies que vous pouvez lire avec JavaScript côté client sont ceux appartenant à l'hôte du document HTML dans lequel le <script> est intégré.

En définissant withCredentials vous pouvez prendre en charge les cookies dans les demandes cross-Origin, mais ils sont gérés de manière transparente par le navigateur et JS n'y a pas d'accès direct (la spécification XHR va jusqu'à interdire explicitement getAllResponseHeaders de lire les en-têtes liés aux cookies ). Le seul moyen pour une demande multi-origine d'accéder aux cookies est que le serveur (auquel vous dites que vous n'avez pas accès) copie les données dans le corps ou dans un en-tête de réponse différent).

20
Quentin

Vous pouvez si vous pouvez installer des composants côté serveur.

Vous pouvez utiliser un domaine dédié pour héberger votre cookie puis le partager à l'aide des techniques XSS

Lorsque dom1.foo.com se connecte, vous enregistrez un cookie sur cookie.foo.com à l'aide d'un appel Ajax XSS, puis lorsque vous accédez à dom2.foo.com, vous devez interroger cookie.foo.com avec votre api XSS

Je l'ai joué il y a quelque temps https://github.com/quazardous/mudoco/blob/master/mudoco/README.txt C'est juste une sorte de POC ..

2
quazardous

Pensez que vous pouvez le faire en intégrant un iframe dans votre page avec src pointant vers le domaine "avec cookie". Dites http://cookiedomain.com/some.html . La page Some.html exécutera javascript qui accède au cookie et définit une variable globale

0
Kamarey