← HTTP — sécurité avancée, 40 leçons de cours

Module 26 / 40 · 90 min

26. Referrer-Policy et données dans les URL

Limiter la diffusion de contexte sans supposer qu’un en-tête efface toutes les traces.

Lessons, exercises and questions in this path are in French. The interface follows the site language.

Your progress will appear here when JavaScript is active.

Progress and best score are stored only in this browser. No account is needed; clearing browser data removes them. Module times are estimates including exercises.

Comprendre le mécanisme

Le champ Referer peut transmettre un contexte de navigation selon la politique applicable. Referrer-Policy permet de limiter cette information pour les demandes concernées. Le nom historique Referer et celui de la politique sont différents. Les URL peuvent également apparaître dans l’historique, les journaux et les outils de supervision ; les secrets placés dans une chaîne de requête peuvent donc fuir par plusieurs canaux.

Raisonner et vérifier

Définissez une politique adaptée aux parcours sensibles puis vérifiez sa présence dans les réponses finales. Ne traitez pas cette directive comme une garantie d’absence de toute métadonnée : Origin, cookies et autres champs suivent leurs contrats propres. Réduisez d’abord la quantité de données sensibles dans les URL et dans les événements collectés. Les tests doivent couvrir navigation, sous-ressource et redirection selon le besoin.

Informations envoyées

Referrer-Policy contrôle des informations de référence transmises. Son périmètre ne couvre pas tous les stockages. Referrer-Policy règle les informations de référence transmises dans les parcours concernés. Elle agit sur des envois futurs selon le contexte et ne constitue pas un mécanisme général d’effacement de données.

Understand this common mistake

Referrer-Policy efface tout historique local.

Son périmètre ne couvre pas tous les stockages.

No-referrer

no-referrer peut supprimer le champ Referer du parcours concerné. La politique d’envoi n’efface pas les traces antérieures. Cette politique peut supprimer Referer sur une navigation concernée. Vérifiez au destinataire ce qui est réellement reçu ; l’absence du champ n’empêche pas d’autres canaux de conserver l’URL visitée.

Understand this common mistake

no-referrer supprime tous les journaux serveur déjà écrits.

La politique d’envoi n’efface pas les traces antérieures.

Secrets en URL

Les secrets ne doivent pas être placés dans les URL. Historique, logs et autres canaux peuvent conserver l’URL. Un token durable peut apparaître dans historique, captures, journaux ou outils de supervision. Retirez-le du design lorsque possible et utilisez les mécanismes de transport prévus pour les credentials.

Understand this common mistake

Une politique de referrer rend toute URL secrète partout.

Historique, logs et autres canaux peuvent conserver l’URL.

Granularité

L’origine et l’URL complète sont des granularités différentes. Le détail transmis dépend de la politique et du contexte. L’origine ne contient pas chemin et query, contrairement à une URL complète. Choisissez la politique selon les données que ces composants peuvent révéler et les parcours sortants réellement utilisés.

Understand this common mistake

Envoyer l’origine transmet nécessairement tout le chemin.

Le détail transmis dépend de la politique et du contexte.

Parcours sortants

Les liens sortants doivent être testés selon les parcours. La chaîne de navigation peut changer le résultat. Testez lien, redirection et ressource chargée dans les contextes pertinents. Une observation sur une navigation unique ne décrit pas automatiquement toutes les transmissions de référence du produit.

Understand this common mistake

Un test sur la page d’accueil couvre chaque redirection.

La chaîne de navigation peut changer le résultat.

Fuite existante

Une donnée déjà diffusée demande un traitement spécifique. La modification n’est pas une révocation de données copiées. Une valeur déjà présente dans des logs reste une copie à traiter. Selon sa capacité, retirez ou remplacez le secret et appliquez la procédure de conservation ou de nettoyage appropriée.

Understand this common mistake

Changer la politique retire toutes les copies distantes.

La modification n’est pas une révocation de données copiées.

Journaux

La politique de confidentialité doit inclure les logs. D’autres traces peuvent révéler le parcours. La confidentialité doit inclure logs proxy, application et APM. Réduire Referer n’empêche pas le serveur de journaliser directement une query sensible reçue dans la demande initiale.

Understand this common mistake

Le referrer est la seule source de données de navigation.

D’autres traces peuvent révéler le parcours.

Pas une identité

Une référence reçue n’authentifie pas l’utilisateur. Le contexte de navigation n’est pas une identité vérifiée. Referer peut manquer et ne doit pas être utilisé comme credential. Il peut contribuer à certains diagnostics ou contrôles contextuels, sans remplacer une authentification et une autorisation serveur.

Understand this common mistake

Referer suffit comme preuve de propriété d’un compte.

Le contexte de navigation n’est pas une identité vérifiée.

Observation destinataire

Les tests doivent contrôler la valeur observée au destinataire. Le navigateur applique la politique lors des requêtes. Utilisez un endpoint factice qui enregistre seulement les champs utiles au test. Comparez la valeur reçue à la politique attendue plutôt que déduire l’effet du seul header de départ.

Understand this common mistake

Lire seulement le HTML prouve tout envoi réseau.

Le navigateur applique la politique lors des requêtes.

Canal

Une protection du canal reste nécessaire. Le chiffrement relève du transport sécurisé. Une politique de référence ne chiffre pas les échanges. Maintenez HTTPS et ses validations pour protéger le transport, tout en minimisant les données que les extrémités reçoivent et conservent.

Understand this common mistake

Referrer-Policy chiffre tous les échanges HTTP.

Le chiffrement relève du transport sécurisé.

Atelier guidé : lire, expliquer et vérifier le code

Referrer-Policy: no-referrer

Journal antérieur : GET /lab/reset?token=public-fixture-only

Le header no-referrer n’efface pas la ligne de journal antérieure. La valeur illustrative y a déjà été copiée. Distinguez prévention des transmissions futures et traitement d’une diffusion existante, puis vérifiez l’ensemble des traces où une vraie capacité pourrait avoir été conservée.

Le champ n’exécute pas une purge. Ce n’est pas son périmètre. Une révocation demande un mécanisme applicatif. Il faut gérer la collecte et les copies séparément.

Travail pratique : Inspectez un parcours de laboratoire contenant un paramètre fictif sensible, puis définissez une représentation qui n’expose pas ce contexte inutilement.

Critères de correction : Relevez les champs reçus par une destination locale et les événements de votre propre journal. Appliquez une politique explicite puis vérifiez les canaux restants ; remplacez le paramètre sensible par un identifiant opaque ou un mécanisme adapté.

Worked example

Referrer-Policy: no-referrer

Ce choix réduit l’envoi du champ de référence dans le périmètre prévu. Il ne supprime pas rétroactivement des URL déjà enregistrées ailleurs.

Practical exercise

Inspectez un parcours de laboratoire contenant un paramètre fictif sensible, puis définissez une représentation qui n’expose pas ce contexte inutilement.

View a suggested solution

Relevez les champs reçus par une destination locale et les événements de votre propre journal. Appliquez une politique explicite puis vérifiez les canaux restants ; remplacez le paramètre sensible par un identifiant opaque ou un mécanisme adapté.

Verification checklist

  • Ne pas placer des secrets inutilement dans les URL.
  • Tester les champs réellement transmis.
  • Minimiser aussi les journaux.

Knowledge check

Related lesson: 26. Referrer-Policy et données dans les URL ↗
Referrer-Policy supprime-t-elle automatiquement les secrets déjà présents dans les logs ?

Reference documentation ↗

Module validation

101 questions, local practice target of 75%. Suggested duration of 150 minutes, with no enforced deadline. Questions and choices are shuffled; corrections appear after submission. The quick lesson check and the final course exam remain separate exercises.

Start or resume the 101 questions →