2010-10-28 20 views
8

¿Cómo se puede obtener el HTTP Referrer cuando se redirige de otro sitio web, no cuando hacen clic en un enlace, ya que funcionaría para $_SERVER['HTTP_REFERER'], pero no funciona cuando un usuario ha sido redirigido a un sitio web y el referente estaría vacío.Obtener HTTP Referrer en Redirección

¿Cuál será el método para obtener la referencia?

Respuesta

9

cómo se puede obtener el Referente HTTP cuando redireccionado de otro sitio web

No se puede. Si la redirección tiene lugar bajo su control, puede agregar el referer original como parámetro, pero si el redirector externo no hace eso, no tiene forma de obtener la información.

+0

Aw. ¿Entonces no hay forma de saber de dónde vino el usuario cuando se redirigió al usuario? – MacMac

+0

@YouBook no tan lejos como sé, no. –

4

Un ejemplo de cómo lo hice. Digamos que tenemos 3 páginas, una llamando al siguiente.

page1.com -> page2.com -> page3.com. 

en page2.com obtener el page1.com usando:

$referrer = $_SERVER['HTTP_REFERER'];//=page1.com 

al redirigir a página 3, enviar $ de referencia como parámetro GET

page3.com?referrer=$referrer 

en page3 leer el $ de referencia del get.

$initialReferrer = $_GET['referrer'];//=page1.com 
+0

Uno podría llamar directamente a 'page3.com? Referrer = page4.com', así que tenga cuidado con los problemas de seguridad/asignación. Además, '$ _SERVER ['HTTP_REFERER'] debe ser' rawurlencode'-d antes de ser anexado a la URL. – Xenos

Cuestiones relacionadas