Skip to content

Commit 13265f5

Browse files
committed
docs: tra half section
1 parent 4ed2811 commit 13265f5

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

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

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,4 +225,36 @@ Bien que, il y a un petit inconvénient.
225225

226226
Quand un utilisateur suit un lien légitime vers `bank.com`, comme depuis ses propres notes, il sera surpris que `bank.com` ne le reconnaisse pas. En effet, les cookies `samesite=strict` ne sont pas envoyés dans ce cas.
227227

228-
Nous pouvons travailler autour de ça avec deux cookies : une pour la "reconnaissance générale", uniquement dans le but de dire : "Salut, John", et un autre pour les opérations de changements de données avec `samesite=strict`. Alors, une personne venant de l'extérieur du site verra un message de bienvenue, mais les paiements doivent être initié depuis le site de la banque, pour que le second cookie soit envoyé.
228+
Nous pouvons travailler autour de ça avec deux cookies : une pour la "reconnaissance générale", uniquement dans le but de dire : "Salut, John", et un autre pour les opérations de changements de données avec `samesite=strict`. Alors, une personne venant de l'extérieur du site verra un message de bienvenue, mais les paiements doivent être initié depuis le site de la banque, pour que le second cookie soit envoyé.
229+
230+
- **`samesite=lax`**
231+
232+
Une approche plus relax qui protège aussi des XSRF et qui ne casse pas l'expérience utilisateur.
233+
234+
Le mode lax, tout comme `strict`, interdit le navigateur à envoyer des cookies quand venu de l'extérieur du site, mais ajoute une exception.
235+
236+
Un cookie `samesite=lax` est envoyé lorsque deux conditions sont réunies :
237+
238+
1. La méthode HTTP est "safe" (e.g. GET, mais pas POST).
239+
240+
La liste complète des méthodes HTTP safes est dans la [spécification RFC7231](https://tools.ietf.org/html/rfc7231). Basiquement ce sont des méthodes qui peuvent être utilisées pour lire, mais pas pour écrire de données. Elles ne doivent pas effectuer d'opérations de modifications de données. Suivre un lien c'est toujours du GET, la méthode safe.
241+
242+
2. L'opération effectue une navigation de haut niveau (change l'URL dans la barre d'adresse).
243+
244+
C'est généralement vrai, mais si la navigation est effectuée dans une `<iframe>`, alors ce n'est pas du haut-niveau. Aussi, les méthodes JavaScript n'effectuent aucune navigation, ainsi elles ne conviennent pas.
245+
246+
Donc, que fait `samesite=lax`, il permet les opérations basiques "va à l'URL" à avoir des cookies. E.g. ouvrir un lien depuis des notes satisfait ces conditions.
247+
248+
Mais quelque chose de plus compliqué, comme une requête depuis un autre site ou une soumission de formulaire, perd les cookies.
249+
250+
Si ça vous convient, alors ajouter `samesite=lax` ne cassera probablement pas l'expérience utilisateur et ajoutera une protection.
251+
252+
Dans l'ensemble, `samesite` est une bonne option.
253+
254+
Il y un inconvénient :
255+
256+
- `samesite` est ignoré (non supporté) par les très vieux navigateurs, de 2017 et avant.
257+
258+
**Donc si nous comptions uniquement sur `samesite` pour fournir une protection, alors les anciens navigateurs seraient vulnérables.**
259+
260+
Mais nous pouvons sûrement utiliser `samesite` avec d'autres mesures de protections, comme les tokens xsrf, pour ajouter une couche de défense additionnelle et donc, dans le futur, quand les anciens navigateurs mourreront, nous pourrons probablement nous passer des tokens xsrf.

0 commit comments

Comments
 (0)