type received print obtener headers get_header from content capturar php http-headers

received - php get response headers from url



¿Cómo detectar el sitio de donde vino un usuario antes que el mío en PHP? (6)

Debes mirar el encabezado HTTP Referer:

$_SERVER[''HTTP_REFERER'']

Consulte la documentación de PHP para obtener más encabezados HTTP

¿Cómo puedo detectar el sitio del que vino el usuario antes de acceder al mío en PHP?


Las notas anteriores son correctas, pero tenga en cuenta que el usuario puede hacer que su navegador no envíe esta información, o puede meterse con esta información y enviar datos falsos.


Prueba esto:

$_SERVER[''HTTP_REFERER'']

Para obtener más información, consulte HTTP referrer :

El referente, o referencia HTTP, también conocido por el común denominador de errores ortográficos que se presenta como un campo de encabezado HTTP, identifica, desde el punto de vista de una página web o recurso, la dirección de la página web (comúnmente la URL, el URI más genérico). o el i18n actualizado IRI) del recurso que lo enlaza. Al consultar la referencia, la nueva página puede ver de dónde vino la solicitud.


echo $_SERVER[''HTTP_REFERER''];

No es del todo confiable y puede ser falso, pero en general se completará con la URL que el usuario hizo clic para acceder al script.


Puede consultar en el encabezado HTTP Referer :

echo $_SERVER[''HTTP_REFERER''];


Pero tenga en cuenta que el Referer es enviado por el navegador , lo que significa:

  • Se puede desactivar (no es obligatorio, y es solo una información adicional que el navegador puede enviar)
  • Se puede falsificar (es decir, cualquiera puede enviar cualquier cosa, incluso una inyección SQL o una inyección XSS, por ejemplo)


Por lo tanto, puede usar el referer para proporcionar una característica adicional en su sitio web, pero debe asegurarse de que su sitio web no dependa de él: su aplicación debe seguir funcionando, incluso si el Referer no está presente.


Como dice @Andrew Hare en su respuesta , obtener el valor del valor del servidor HTTP_REFERRER (que es un encabezado que se envía como parte de la solicitud HTTP) le indicará el sitio en el que se encontraba el navegador por última vez.

Sin embargo, lo que debe tenerse en cuenta es que es completamente posible que esta variable de encabezado / servidor no tenga ningún valor, por varias razones legítimas, algunas de las cuales son:

  • El usuario ingresó la URL del sitio en la misma ventana
  • El usuario abrió un marcador en la misma ventana
  • El usuario acaba de abrir el navegador e hizo una de las cosas anteriores

Todas las anteriores son en realidad variaciones sobre la misma cosa, un caso en el que se usa la misma ventana del navegador para ir a otro sitio, pero no se solicitó al hacer clic en un enlace de un documento que los condujo allí, un redireccionamiento o alguna otra acción sugerida por la página en el historial anterior al suyo.