Arrêter le lien d'envoi de référence vers destination

J'ai une page où je ne veux pas que les liens sortants envoient un référent afin que le site de destination ne sache pas d'où ils venaient.

Je suppose que ce n'est pas possible, mais je veux juste m'assurer qu'il n'y avait pas de magie de javascript cachée qui pourrait le faire et que cela fonctionnerait avec certains (sinon la plupart des navigateurs).

Peut-être un code d'état HTTP intelligent qui redirige vers kung-fu?

Quelque chose comme ça serait parfait

<a href="example.com" send_referrer="false">link</a> 

Je cherchais la même chose, et il semble que ce sera une fonctionnalité de HTML5 .

La balise que vous recherchez est rel="noreferrer" .

Il est déjà implémenté dans Webkit (Chrome, etc.) , ainsi que Firefox , mais votre kilométrage peut varier.

Pour ceux qui visitent en 2015 et au-delà, il existe maintenant une solution appropriée pour obtenir de l'aide.

La spécification HTTP Referrer Policy vous permet de contrôler l'envoi de références pour les liens et les sous- sources (images, scripts, feuilles de style, etc.) et, en ce moment, il est pris en charge par Firefox, Chrome et Opera.

 <meta name="referrer" content="no-referrer"> 

(Et une version antérieure de la spécification est prise en charge par Microsoft Edge et Safari, mais je n'ai pas encore trouvé de mode testé pour alimenter l'ancienne syntaxe tout en alimentant tout le reste de la nouvelle syntaxe.)

En outre, si vous souhaitez l'appliquer aux étiquettes audio , img , link , script et video qui nécessitent que CORS fonctionne, n'oubliez pas de définir également l' crossorigin="anonymous" , donc uniquement le minimum absolu (l' Origin En-tête) seront partagés.

(Vous ne pouvez pas vous débarrasser de l'en-tête Origin lors de l'utilisation de CORS car les sites distants doivent savoir quel domaine effectue la requête pour l'autoriser ou le refuser.)

HTML 5 comprend rel="noreferrer" , qui est pris en charge dans tous les principaux navigateurs . Donc, pour ces navigateurs, vous pouvez simplement écrire:

 <a href="example.com" rel="noreferrer">link</a> 

Il existe également une cale disponible pour les autres navigateurs: https://github.com/knu/noreferrer

Bigmack est sur la bonne voie, mais un changement de localisation javascript envoie encore un référent dans firefox. L'utilisation d'un méta-rafraîchissement semble résoudre le problème pour moi.

 <a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL=&#39;http://google.com/&#39;"></html>'>Link</a> 

J'essayais de comprendre cela aussi.

La solution à laquelle je pensais était d'utiliser une URL de données pour cacher la page actuelle de laquelle je viens.

 <a href='data:text/html;charset=utf-8, <html><script>window.location = "http://google.ca";</script></html>'>Link</a> 

Ce lien ouvre une page qui ne contient que javascript pour charger une page différente. Dans mes tests, aucun référent n'est donné à la destination finale. Je ne sais pas ce qu'il pourrait envoyer en tant que référent s'il essayait de toute façon, peut-être l'URL de données? Qui ne donnerait pas d'où vous venez.

Cela fonctionne avec Chrome. Chrome est mon seul souci pour mon problème actuel, mais pour les navigateurs qui n'aiment pas javascript dans les pages qui sont des URL de données. Vous pourriez probablement essayer un méta-rafraîchissement.

En plus des informations déjà fournies. Plus d'informations sur le sujet ici: https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer

Plus précisément, vous permettant d'envoyer ou de ne pas envoyer d'informations de renvoi si vous avez besoin de règles différentes pour les demandes d'origine même ou d'origine croisée.

Quelque chose à considérer en fonction de votre cas d'utilisation spécifique. C'est-à-dire si vous tirez sur images / css / javascript à partir de sites Web tiers, vous voudrez peut-être ne pas identifier l'URL que vous faites de cette manière et donc utiliser l'option sans renvoi. Alors que si vous vous connectez à d'autres sites Web à partir de votre propre site Web, vous voudrez peut-être qu'ils sachent que vous leur envoyez du trafic. Réfléchissez toujours aux implications de ces deux côtés. En cas de conflit dans ces deux domaines, il existe d'autres options telles que l'ajout de paramètres de suivi UTM à la fin des URL qui peuvent être utiles pour certaines personnes. Détails complets ici: https://www.contradodigital.com/2014/06/03/importance-utm-tracking-parameters-social-media/

Vous pouvez également utiliser un service de renvoi comme https://anon.click/