Dans quels cas HTTP REFERER sera-t-il vide

Je sais qu'il est possible d'obtenir un HTTP_REFERER vide. Dans quelles circonstances cela se produit-il? Si j'en ai un vide, cela signifie-t-il toujours que l'utilisateur l'a changé? Obtenir un vide est-il la même chose que d'obtenir un nul? et dans quelles circonstances est-ce que je reçois ça aussi?

124
demandé sur Patrick McElhaney 2011-07-30 06:12:48

4 réponses

Il sera/peut être vide lorsque l'utilisateur

  • entré L'URL du site dans la barre d'adresse du navigateur lui-même.
  • a visité le site par un signet maintenu par le navigateur.
  • visité le site en première page dans la fenêtre / onglet.
  • Cliquez sur un lien dans une application externe.
  • est passé d'une URL https à une URL http.
  • est passé d'une URL https à une autre URL https.
  • a installé un logiciel de sécurité (antivirus / firewall / etc) qui supprime le référent de toutes les demandes.
  • se trouve derrière un proxy qui supprime le référent de toutes les requêtes.
  • a visité le site par programme (comme, curl) sans définir l'en-tête referrer (searchbots!).
220
répondu BalusC 2018-07-15 15:16:55

HTTP_REFERER-envoyé par le navigateur, indiquant la dernière page que le navigateur a vue!

Si vous faites confiance à [HTTP_REFERER] pour une raison importante, vous ne devriez pas, car il peut être falsifié facilement:

  1. certains navigateurs limitent l'accès pour ne pas autoriser le passage de HTTP_REFERER
  2. tapez une adresse dans la barre d'adresse ne passera pas le HTTP_REFERER
  3. ouvrir une nouvelle fenêtre de navigateur ne passera pas le HTTP_REFERER, car HTTP_REFERER = NULL
  4. a un addon de navigateur qui bloque pour des raisons de confidentialité. Certains pare-feu et AVs le font.

Essayez cette extension firefox, vous serez en mesure de définir les en-têtes que vous voulez:

@ maître de célébration:

Firefox:

extensions: refspoof, refontrol, modifier les en-têtes, sans referer

désactiver Complètement: l'option est disponible dans about:config dans le réseau".http.sendRefererHeader " et vous voulez définir ceci sur 0 pour désactiver le passage du référent.

Google chrome / Chrome:

extensions: noref, spoofy, externe noreferrer

désactiver Complètement: Chnage ~/.config/google-chrome/Default/Préférences ou ~/.config / chromium / Default / Preferences et définissez ceci:

{
   ...
   "enable_referrers": false,
   ...
}

ou simplement ajouter --no-referrers au raccourci ou dans cli:

google-chrome --no-referrers

Opéra:

désactiver Complètement: Paramètres > Préférences > Avancé > Réseau, et décochez "envoyer des informations de référence"

Service Web D'usurpation d'identité:

Http://referer.us/

Proxy de filtrage autonome (usurper n'importe quel en-tête):

Privoxy

L'Usurpation http_referer lors de l'utilisation de wget

{[3]‘' -- referer = url '

L'Usurpation http_referer lors de l'utilisation de curl

- e, -- referer

Usurpation d'identité http_referer wth telnet

telnet www.yoursite.com 80 (press return)
GET /index.html HTTP/1.0 (press return)
Referer: http://www.hah-hah.com (press return)
(press return again)
28
répondu ThatGuy 2012-05-18 20:09:23

La liste de BalusC est solide. Une autre façon de ce champ apparaît souvent vide est lorsque l'utilisateur est derrière un serveur proxy. Ceci est similaire à être derrière un pare-feu, mais est légèrement différent donc je voulais le mentionner par souci d'exhaustivité.

9
répondu Night Owl 2011-07-30 04:15:44

Il sera également vide si le nouveau projet Referrer Policy standard draft est utilisé pour empêcher que l'en-tête referer soit envoyé à l'origine de la requête. Exemple:

<meta name="referrer" content="none">

Bien que Chrome et Firefox aient déjà implémenté une version préliminaire de la Politique Referrer, vous devriez faire attention car par exemple Chrome attend no-referrer au lieu de none (et j'ai aussi Vu never quelque part).

6
répondu Joel Richard 2015-03-03 16:01:02