Skip to content

Commit dd5921f

Browse files
committed
docs: tra section
1 parent 316a4f2 commit dd5921f

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

6-data-storage/01-cookie/article-fr.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,48 @@ Le préfix du chemin de l'URL doit être absolu. Ça rend le cookie accessible d
8686

8787
Si un cookie est défini avec `pah=/admin`, il est visible depuis les pages `/admin` et `/admin/something`, mais pas depuis `/home` ou `/adminpage`.
8888

89-
Généralement, nous devons définir `path` à la racine `path=/` pour rendre le cookie accessible depuis toutes les pages du site.
89+
Généralement, nous devons définir `path` à la racine `path=/` pour rendre le cookie accessible depuis toutes les pages du site.
90+
91+
## domain
92+
93+
- **`domain=site.com`**
94+
95+
Un domaine définit où le cookie est accessible. Cependant en pratique, il y a des limites. Nous ne pouvons pas définir n'importe quel domaine.
96+
97+
**Il n'y a pas de moyen de laisser un cookie être accessible depuis un domaine de second niveau, donc `other.com` ne recevra jamais un cookie défini à `site.com`**
98+
99+
C'est une restriction de sécurité, pour nous permettre de stocker des données sensible dans nos cookies qui ne seront disponibles que sur un site.
100+
101+
Par défaut, un cookie est accessible uniquement depuis le domaine qui l'a définit.
102+
103+
Veuillez noter, par défaut un cookie n'est pas partagé avec un sous-domaine, tel que `forum.site.com`.
104+
105+
106+
```js
107+
// Si nous définissons un cookie sur site.com
108+
document.cookie = "user=John"
109+
110+
// ...Nous ne le verrons pas depuis forum.site.com
111+
alert(document.cookie); // no user
112+
```
113+
114+
...Mais ça peut changer. Si nous voulions permettre aux sous-domaines comme `forum.site.com` de récupérer un cookie défini par `site.com`, c'est possible.
115+
116+
Pour que ça arrive, quand nous definissons un cookie depuis `site.com`, nous pouvons définir l'option `domain` à la racine du domaine : `domain=site.com`. Alors tous les sous-domaines verront un tel cookie.
117+
118+
Par exemple :
119+
120+
```js
121+
// Depuis site.com
122+
// Rendre le cookie accessible à tous les sous-domaines *.site.com:
123+
document.cookie = "user=John; *!*domain=site.com*/!*"
124+
125+
// Plus tard
126+
127+
// Depuis forum.site.com
128+
alert(document.cookie); // Le cookie user=John existe
129+
```
130+
131+
Pour des raisons historiques, `domain=.site.con` (avec un point avant `site.com`) fonctionne de la même manière, permettant l'accés au cookie depuis les sous-domaines. C'est une vielle façon de faire et pourrait être utilisée si nous voulons prendre en charge les très vieux navigateurs.
132+
133+
Pour résumer, l'option `domain` permet de rendre un cookie accessible aux sous-domaines.

0 commit comments

Comments
 (0)