201 votes

Dans quels cas HTTP_REFERER sera vide

Je sais que c’est possible d’obtenir un vide HTTP_REFERER. Dans quelles circonstances cela se produit ? Si je reçois un vide, toujours signifie que l’utilisateur a changé ? Devient un vide identique à obtenir un null ? et dans quelles circonstances puis-je obtenir que trop ?

334voto

BalusC Points 498232

Il sera/peut être vide lorsque l'utilisateur final

  • entré l'URL du site dans la barre d'adresse du navigateur lui-même.
  • visité le site par un navigateur-signet conservé.
  • visité le site que la première page dans la fenêtre/onglet.
  • changé à partir d'une URL https pour une URL http.
  • changé à partir d'une URL https vers une autre URL https.
  • un logiciel de sécurité installé (antivirus/pare-feu/etc) qui prive le référent de toutes les demandes.
  • est derrière un proxy qui prive le référent de toutes les demandes.
  • visité le site par programmation (comme, curl) sans définir le référent de l'en-tête (searchbots!).

37voto

ThatGuy Points 6454

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

Si vous confiance [HTTP_REFERER] pour une raison qui est important, vous ne devriez pas, car il peut être facilement truquées:

  1. Certains navigateurs limiter l'accès pour ne pas permettre HTTP_REFERER être passé
  2. Tapez une adresse dans la barre d'adresse ne passera pas le HTTP_REFERER
  3. ouvrez une nouvelle fenêtre de navigateur ne passera pas le HTTP_REFERER, parce que HTTP_REFERER = NULL
  4. a certains navigateur addon qui le bloque pour des raisons de confidentialité. Certains pare-feu et AVs faire pour.

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

@Maître de la 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 mettre 0 pour désactiver ce referer en passant.

Google chrome / Chromium:

extensions: noref, spoofy, externe noreferrer

Désactiver complètement: Chnage ~/.config/google-chrome/Default/Préférences ou ~/.config/chromium/Default/Préférences et mettez ceci:

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

Ou tout simplement ajouter l'option --no-référents de raccourci ou en ligne de commandes:

google-chrome --no-referrers

Opéra:

Désactiver complètement: Réglages > Préférences > Avancé > Réseau, et décochez la case "Envoyer de l'information référent"

L'usurpation de service web:

http://referer.us/

Autonome de filtrage proxy (usurpation de tout en-tête):

Privoxy

L'usurpation http_referer lors de l'utilisation de wget

‘--referer=url'

L'usurpation http_referer lors de l'utilisation de curl

-e, --referer

L'usurpation http_referer avec 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)

9voto

Night Owl Points 1338

Liste de BalusC est solide. Une façon supplémentaire que ce champ apparaît fréquemment vide est lorsque l’utilisateur se trouve derrière un serveur proxy. Cela est similaire à être derrière un pare-feu, mais est légèrement différente, alors j’ai voulu faire mention par souci d’exhaustivité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X