Supprimer le http referer
Est-il un moyen de supprimer ou de masquer http referer informations dans l'en-tête de demande?
je veux supprimer http référent de l'information des utilisateurs qui se passe sur d'autres sites à partir de mon site à l'aide d'un script, éventuellement, en javascript, python ou django
exemple:
Host slogout.espncricinfo.com
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
Referer http://slogout.espncricinfo.com/index.php?page=index&level=login
- À partir de votre script? Site web? Lors de la navigation sur votre ordinateur?
- que voulez-vous dire? comment le faire par programmation? ou dans la coutume navigateur web? si d'abord, pour quelle plate-forme vous avez besoin d'une solution (par exemple php, c++, etc...)?
- je veux enlever le référent http info de visitore qui vont de mon site vers un autre site...
- heximal je veux le faire par programmation à l'aide de l'une de ces langues, javascript,jquery, python django ou html
Vous devez vous connecter pour publier un commentaire.
En 2015, c'est la façon dont vous prévenir de l'envoi de l'en-tête Referer:
Juste ajouter ceci à la section head de la page web:
Cela fonctionne à la fois pour les liens et pour les requêtes Ajax faite par le code JavaScript de la page.
Valable
meta
options comprennent:• Voyez si cela fonctionne pour votre navigateur ici: http://caniuse.com/#feat=referrer-policy
• Voir les specs ici: http://w3c.github.io/webappsec/specs/referrer-policy/
Notez également que les navigateurs maintenant envoyer le
Origin
en-tête (avec de la SCRO des demandes et des requêtes POST, voir ici: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin) qui comprend de domaine et le port, et, autant que je sache, ne peut pas être supprimé. Si vous utilisez<meta name="referrer" content="origin" />
le référent contiendra des informations similaires à laOrigin
en-tête, ce qui est déjà bon de la vie privée d'une point de vue, car il permet de masquer la page exacte de l'utilisateur.Mise à jour:
Si vous souhaitez supprimer le référent à l'aide de JavaScript, vous pouvez ajouter cette balise meta dynamiquement juste avant de faire la requête Ajax. Ce JavaScript, ajouter
<meta name="referrer" content="no-referrer" />
à la tête de la section de la page web:content=never
est plus compatible alorscontent=none
, depuis la plus récente spécification indique que"never" or "no-referrer", return "no-referrer".
. Mais il dit aussi queAuthors are encouraged to avoid the legacy keywords never, default, and always. The keywords no-referrer, no-referrer-when-downgrade, and unsafe-url respectively are preferred.
.content=no-referrer
ne fonctionne pas dans tous les navigateurs considérant qu'il apparaîtcontent=never
fonctionne dans tous les navigateurs qui prennent en chargeno-referrer
et puis certains. Pour l'instant, vous devriez probablement utilisercontent=never
.getallheaders
et$_SERVER
omettre, est Chrome pas de l'envoyer, ou quelque chose d'autre?Il y a une croix navigateur solution en Javascript, on utilise
Iframes
créé dynamiquement, vérifier une la preuve de concept ( avertissement: Il utilise un peu de JS lib j'ai codé pour cet usage).Si vous êtes uniquement intéressé à cacher l'URL complète et ne me dérange pas de garder votre nom de domaine exposées, ce petit code Javascript fait le travail.
Votre utilisateur est à
example.com/secret_url_we_want_to_hide
, votre utilisateur clique sur un lien qui est censé envoyer àgoogle.com
. mais au lieu de<a href="http://google.com">Go to Google</a>
, nous utilisons ce:a href="http://example.com/redirect.html#http://google.com">Go to Google</a>
Où
/redirect.html
est une page HTML contenant les éléments suivants:(Edit: Veuillez consulter la mise à jour!)
Google.com va voir
http://example.com/redirect.html
dans le référent de la balise et ne verra jamais le réelexample.com/secret_url_we_want_to_hide
.Mise à JOUR:
Firefox a un bug l'emplacement.de hachage, la solution est la suivante:
Il existe une variété de mécanismes pour le faire, selon ce que la version du navigateur que vous utilisez. Pour n'importe quel navigateur, si la destination est sur HTTP, vous pouvez les "blanchir" l'origine par une redirection vers une page HTTPS qui accède ensuite à la page cible.
Pour IE, vous pouvez effectuer la navigation à l'aide de JavaScript (par exemple la fenêtre.ouvert) qui permettra de supprimer le referer. Ou vous pouvez utiliser les META Refresh, mais il y a une perf coût que. Pour WebKit, navigateurs, voir la NoReferrer LINK REL option: http://www.webkit.org/blog/907/webkit-nightlies-support-html5-noreferrer-link-relation/
J'avais été la recherche d'une solution similaire, vide le référent, mais seulement à compter de visites uniques à partir d'un site web de référence. Le problème que j'avais était que, si quelqu'un a visité mon site à partir d'un lien en particulier, la visite compteur monte, mais si cette personne rafraîchi la page, le compteur de visiteurs est toujours.
J'ai utilisé google pour visiter plusieurs ressources sur ce sujet et oui, c'était très très difficile de trouver la réponse jusqu'à ce que quelqu'un m'a montré à regarder php.net pour la solution.
J'ai trouvé la solution en utilisant
Mais simplement le code ci-dessus n'est pas la solution. La Solution réside dans son placement. Voici le code complet:
Après le "refresh", informations d'en-tête des modifications d'accueil du site, sur la page d'actualisation de l'instruction "if" ne sera pas validé et le compteur n'augmente pas.
Vous pouvez mettre votre compteur à l'intérieur du bloc if. Vous pouvez également programmer les différents paramètres de journal vierge de visites sur votre site web et les différents paramètres pour se connecter sur toutes les pageloads/nombre de pages vues ainsi.
Espère que cela aide.....
Votre hypothèse de l'accès à l'en-tête Referer via le javascript n'est pas possible. Tout comme l'Agent Utilisateur en-tête http referer, etc ne peut pas être consulté par le javascript. Les valeurs de ces en-têtes sont nourris par le navigateur. Ce que vous pouvez faire est d'écarter les contourner si vous avez besoin de le faire.
Il existe une autre méthode est d'utiliser l'histoire.méthode replace() pour masquer la chaîne de requête tels que ,si vous voulez
http://example.com/search?q=100
remplacer avechttp://example.com/search
,vous pouvez le faire de cette manière:Espérons que cette aide!
😀
Si vous placez le code ci-dessus sur votre page, tous les liens sortants (l'utilisateur clique) n'enverra pas d'information référent
La Documentation
Vous ne pouvez pas. C'est les navigateurs décision d'envoyer un en-tête ou pas. Ce que vous pouvez faire est de cacher votre tête à l'aide d'un lien anonymizer.
J'étais à la recherche d'une solution à cela, et heureusement trouvé ce Cacher Mon Parrain site. Ce qui m'a impressionné, c'est qu'il fonctionne même pour les https > les requêtes https.
Il va générer un lien que vous pouvez utiliser qui permettra de faire exactement ce que vous cherchez.