705 votes

Partager le cookie entre le sous-domaine et le domaine

J'ai deux questions. Je comprends que si je spécifie le domaine comme .mydomain.com (avec le point en tête) dans le cookie que tous les sous-domaines peuvent partager un cookie.

Can subdomain.mydomain.com accéder à un cookie créé dans mydomain.com (sin el www sous-domaine) ?

Can mydomain.com (sin el www ) accèdent au cookie s'il a été créé dans un subdomain.mydomain.com ?

3 votes

Oui, vous pouvez voir le lien ci-dessous codeguru.com/csharp/csharp/cs_internet/article.php/c19417/

1 votes

2 votes

Pouvez-vous s'il vous plaît examiner cette question stackoverflow.com/questions/38351769/

4voto

DannyW Points 61

Dans les deux cas, c'est possible, et c'est le comportement par défaut d'IE et d'Edge.

Les autres réponses ajoutent des informations précieuses mais décrivent principalement le comportement dans Chrome. Il est important de noter que le comportement est complètement différent dans IE. Le test très utile de CMBuckley script démontre que dans (disons) Chrome, les cookies ne sont pas partagés entre Root et les sous-domaines lorsqu'aucun domaine n'est spécifié. Cependant, le même test dans IE montre qu'ils sont partagés. Ce cas dans IE est plus proche de la description du lien www-or-not-www de CMBuckley. Je sais que c'est le cas parce que nous avons un système qui utilise différents cookies servicestack à la fois sur le domaine principal et sur le sous-domaine. Tout fonctionnait bien jusqu'à ce que quelqu'un y accède avec IE et que les deux systèmes se battent pour savoir quel cookie de session gagnerait jusqu'à ce que nous fassions sauter le cache.

0voto

AmerllicA Points 1

En fait, dans mon cas, je voulais partager les données des cookies entre test.ir y sd.test.ir domaine et sous-domaine, pour travailler facilement avec les cookies dans le navigateur j'ai utilisé js-cookie et pour partager j'imite Facebook solution :

Cookie.set('key', 'value', { domain: '.facebook.com' })

// adding a . before domain name

En définissant le code ci-dessus, vous pouvez accéder aux données des cookies dans le domaine de base et les sous-domaines.

-12voto

Lawes Points 81

Une solution simple

setcookie("NAME", "VALUE", time()+3600, '/', EXAMPLE.COM);

Le 5e paramètre de Setcookie détermine les (sous-)domaines auxquels le cookie est accessible. En lui attribuant la valeur (EXAMPLE.COM), il est accessible à n'importe quel sous-domaine (par exemple : SUBDOMAIN.EXAMPLE.COM ).

Référence : http://php.net/manual/en/function.setcookie.php

21 votes

Cette question n'étant pas spécifique au PHP, je ne pense pas qu'elle puisse être considérée comme valable.

1 votes

Sergelerator, je n'ai pas posé de question. Je répondais à l'OP.

6 votes

@Lawes Je pense que sergelator veut dire que la question de l'OP n'est pas spécifique à PHP alors que votre réponse semble être une solution uniquement PHP, donc elle ne répondrait pas à la question de l'OP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X