Referrer-Policy
Contrôler les informations sur la page d’origine que le navigateur peut transmettre lorsqu’un utilisateur navigue vers une autre ressource.
Comprendre Referrer-Policy
Lorsque vous cliquez sur un lien ou qu’une page charge une ressource externe, le navigateur peut indiquer au site destinataire d’où vient la visite.
Cette information est appelée le référent, ou referrer en anglais.
Referrer-Policy permet au site de décider quelle quantité d’informations le navigateur peut transmettre.
Selon la politique choisie, il peut transmettre :
- l’adresse complète de la page précédente ;
-
uniquement l’origine du site,
par exemple
https://example.com/; - ou aucune information.
Pourquoi est-ce important ?
Une URL peut parfois contenir beaucoup plus qu’un simple nom de page.
Elle peut par exemple contenir :
- des termes de recherche ;
- des identifiants techniques ;
- des paramètres internes ;
- ou d’autres informations qui n’ont pas besoin d’être communiquées à un site externe.
Referrer-Policy permet donc de limiter les informations partagées inutilement et de mieux protéger la confidentialité des utilisateurs.
Configurer Referrer-Policy
Le serveur peut transmettre un en-tête HTTP nommé :
Referrer-Policy: strict-origin-when-cross-origin
Le navigateur applique ensuite cette règle
lorsqu’il doit transmettre
l’en-tête HTTP
Referer
lors d’une nouvelle requête.
La politique
strict-origin-when-cross-origin
permet notamment de conserver davantage d’informations
lors des échanges au sein d’une même origine,
tout en limitant ce qui est communiqué
lorsqu’une requête part vers un autre site.
Les principales politiques
no-referrer
Aucune information concernant la page d’origine n’est transmise.
same-origin
Le référent est transmis uniquement lorsque la requête reste sur la même origine.
origin
Seule l’origine du site est transmise,
par exemple
https://example.com/,
sans le chemin complet de la page.
strict-origin
L’origine est transmise lorsque le niveau de sécurité de la connexion est conservé, par exemple de HTTPS vers HTTPS.
strict-origin-when-cross-origin
Conserve davantage d’informations pour les requêtes vers la même origine, mais ne transmet généralement que l’origine vers un autre site.
unsafe-url
Transmet davantage d’informations, notamment l’URL complète dans de nombreuses situations. Cette politique est plus permissive et expose davantage les informations de navigation.
Comprendre ce qui peut être transmis
Même site ou autre site
Une politique peut faire la différence entre une navigation vers une page de la même origine et une navigation vers un autre site.
Imaginons qu’un utilisateur consulte :
https://example.com/compte/profil
Lorsqu’il navigue vers une autre page
de
example.com,
une politique peut autoriser
la transmission de davantage d’informations.
En revanche,
s’il quitte le site pour aller vers
autre-site.fr,
le navigateur peut ne transmettre que :
https://example.com/
Le site externe sait alors d’où vient la visite, mais ne connaît pas forcément la page exacte précédemment consultée.
Un exemple avec une recherche
Imaginons maintenant que l’utilisateur consulte :
https://example.com/recherche?q=ordinateur
Sans politique suffisamment protectrice, l’adresse complète pourrait être transmise à un site externe lorsque l’utilisateur clique sur un lien ou lorsqu’une ressource distante est chargée.
Le site externe pourrait alors apprendre
que l’utilisateur recherchait
ordinateur.
Avec une politique plus restrictive, il peut ne recevoir que :
https://example.com/
L’objectif est donc simple : ne transmettre à un autre site que les informations réellement nécessaires.
Bonnes pratiques et limites
Bonnes pratiques
-
Définir explicitement une
Referrer-Policyadaptée au fonctionnement du site. - Éviter de transmettre inutilement l’URL complète lors d’une navigation vers un autre site.
- Limiter au maximum les informations communiquées à des domaines externes.
- Éviter de placer des informations sensibles directement dans les URLs.
- Vérifier les besoins réels des services externes, outils de statistiques, contenus intégrés ou partenaires.
Toutes les URLs ne présentent pas le même risque
Une adresse publique comme :
https://example.com/actualites/article-1
est généralement moins sensible qu’une URL contenant des informations personnelles, une recherche, des identifiants techniques ou des paramètres internes.
Cela ne signifie pas qu’il faut transmettre systématiquement toutes les URLs publiques. Le principe reste de ne partager que ce qui est nécessaire.
Ce que Referrer-Policy ne remplace pas
Referrer-Policy constitue une protection importante pour la confidentialité, mais elle ne protège pas à elle seule toutes les données de l’utilisateur.
Elle ne remplace notamment pas :
- HTTPS ;
- la protection des données personnelles ;
- une gestion sécurisée des cookies et des sessions ;
- une conception correcte des URLs évitant d’y placer inutilement des informations sensibles.
Une politique Referrer-Policy correctement définie permet donc de réduire les informations que le navigateur révèle inutilement à d’autres sites et doit faire partie des protections mises en place sur un site web.