2011-01-11 72 views
49

Supongamos que la URL de mi sitio se da como hipervínculo en alguna página en Internet; esa página podría ser cualquier cosa en internet: blog, orkut, yahoo, incluso stackoverflow, etc., y alguien hace clic en ella y visita mi sitio. Entonces, ¿podemos saber, utilizando php, la URL anterior desde la que el visitante llegó a mi página?Cómo obtener la URL anterior con PHP

Respuesta

91

Utilice el encabezado $_SERVER['HTTP_REFERER'], pero tenga en cuenta que cualquiera puede suplantarlo en cualquier momento, independientemente de si hizo clic en un enlace.

+0

¿Se trata de una solución de navegador? – NullPointer

+0

@NullPointer: como dije en mi respuesta, cualquiera puede suplantarlo, así que supongo que la respuesta a su pregunta es no. – BoltClock

+0

No. Quería preguntar de otra manera. – NullPointer

19

$_SERVER['HTTP_REFERER'] es la respuesta

13

$_SERVER['HTTP_REFERER'] le dará url incompleta.

Si quiere http://bawse.3owl.com/jayz__magna_carta_holy_grail.php, $_SERVER['HTTP_REFERER'] solo le dará http://bawse.3owl.com/.

0

Pero podría hacer un enlace propio para cada fuente.

Ejemplo: http://example.com?auth=holasite

En este ejemplo su sitio es: example.com

Si alguien abierto que lo vinculan a darle el valor para la variable holasite de autenticación.

Luego solo $ _GET ['auth'] y usted tiene la variable. Pero debe crear una base de datos para almacenarla y autorizarla.

igual: $ holasite = http://holasite.com (Se puede usar MySQL también ..)

Y al igual que coincida con él, y usted tiene la url.

Este método es un poco más complicado, pero funciona. Este método es bueno para una autenticación del sistema de refferal. Pero, ¿dónde está el nombre del sitio, debe escribir una identificación y funciona con esa identificación?

Cuestiones relacionadas