¿En qué casos HTTP_REFERER estará vacío?

Resuelto sameold asked hace 13 años • 5 respuestas

Sé que es posible obtener un HTTP_REFERER vacío. ¿En qué circunstancias sucede esto? Si obtengo uno vacío, ¿siempre significa que el usuario lo cambió? ¿Obtener uno vacío es lo mismo que obtener uno nulo? ¿Y bajo qué circunstancias me sale eso también?

sameold avatar Jul 30 '11 09:07 sameold
Aceptado

Estará/puede estar vacío o parcial cuando el usuario final

  • ingresó la URL del sitio en la barra de direcciones del navegador.
  • visitó el sitio mediante un marcador mantenido por el navegador.
  • visitó el sitio como primera página en una nueva ventana/pestaña/sesión, en algunos navegadores.
  • hizo clic en un enlace en una página que tenía <meta name="referrer">una etiqueta restrictiva.
  • Hizo clic en un enlace en una página que tiene Referrer-Policyun encabezado restrictivo.
  • hizo clic en un enlace que tenía rel="noreferrer".
  • hizo clic en un enlace en una aplicación externa (es decir, no en un navegador web, por ejemplo, Flash).
  • cambió de una URL https a una URL http.
  • tiene instalado un software de seguridad (antivirus/firewall/etc.) que elimina al remitente de todas las solicitudes.
  • está detrás de un proxy que elimina al referente de todas las solicitudes.
  • visitó el sitio mediante programación (como, curl) sin configurar el encabezado de referencia (¡bots!).
BalusC avatar Jul 30 '2011 02:07 BalusC

HTTP_REFERER: enviado por el navegador, indicando la última página que vio el navegador.

Si confías en [HTTP_REFERER] por algún motivo importante, no deberías hacerlo, ya que se puede falsificar fácilmente:

  1. Algunos navegadores limitan el acceso para no permitir que se pase HTTP_REFERER
  2. Escribir una dirección en la barra de direcciones no pasará el HTTP_REFERER
  3. abrir una nueva ventana del navegador no pasará HTTP_REFERER, porque HTTP_REFERER = NULL
  4. tiene algún complemento del navegador que lo bloquea por razones de privacidad. Algunos firewalls y antivirus sí lo hacen.

Pruebe esta extensión de Firefox, podrá configurar los encabezados que desee:

@Maestro de la Celebración:

Firefox:

extensiones: refspoof , refontrol , modificar encabezados , sin referencia

Deshabilitar completamente: la opción está disponible en about:config en "network.http.sendRefererHeader" y desea establecerla en 0 para deshabilitar el paso de referencia.

Google Chrome / Cromo:

extensiones: noref , spoofy , noreferrer externo

Deshabilite completamente: Cambie ~/.config/google-chrome/Default/Preferences o ~/.config/chromium/Default/Preferences y configure esto:

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

O simplemente agregue --no-referrers al acceso directo o en cli:

google-chrome --no-referrers

Ópera:

Deshabilite completamente: Configuración > Preferencias > Avanzado > Red y desmarque "Enviar información de referencia"

Servicio web de suplantación de identidad:

http://referer.us/

Proxy de filtrado independiente (falsifica cualquier encabezado):

privado

Falsificación de http_referer al usar wget

'--referente=url'

Falsificación de http_referer cuando se usa curl

-e, --referente

Falsificación de http_referer con 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)
ThatGuy avatar Jul 30 '2011 02:07 ThatGuy

También estará vacío si se utiliza el nuevo borrador estándar de la Política de referencia para evitar que el encabezado de referencia se envíe al origen de la solicitud. Ejemplo:

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

Aunque Chrome y Firefox ya han implementado una versión borrador de la Política de referencia, debes tener cuidado con ella porque, por ejemplo, Chrome espera no-referreren lugar de none(y también lo he visto neveren alguna parte).

Joel avatar Mar 03 '2015 15:03 Joel

La lista de BalusC es sólida. Una forma adicional en la que este campo aparece frecuentemente vacío es cuando el usuario está detrás de un servidor proxy. Esto es similar a estar detrás de un firewall, pero es ligeramente diferente, así que quería mencionarlo para que esté completo.

Night Owl avatar Jul 30 '2011 04:07 Night Owl