Detectar si el referrer es de nuestro dominio con php

Veremos como detectar si el referido de la pagina del cual nos visita a la pagina actual corresponde a nuestro dominio, es muy util si quieres proteger tu seccion de descargas o cualquier otra utilidad que se te ocurra, aqui va el ejemplo:

[php]
//@uthor: Robert Galeano Fernandez - rgfpy - www.sourcepy.com
//License: (CC BY-NC 3.0)

$dominio = $_SERVER['SERVER_NAME']; //nuestro nombre de dominio a preguntar
if(isset($_SERVER['HTTP_REFERER'])) { $ref = $_SERVER['HTTP_REFERER']; } else{ $ref = ''; } // obtener el ref

if($ref and !strstr($ref, $dominio)){
echo "Tu no me visitas desde mi dominio";
} else {
echo "Me visitas desde mi dominio";
}
?>
[/php]
Para obtener nuestro nombre de dominio actual usamos $_SERVER['SERVER_NAME'] el cual es una variable global de php que nos devuelve el nombre del host y para obtener el valor del referido usamos $_SERVER['HTTP_REFERER'] el cual nos devuelve la url de la pagina referida.
En nuestra condicion verificamos si esta vacio la variable $var y si no encuentra nuestro dominio en la variable $ref si esto es verdadero pues quiere decir que la pagina de donde nos visitan no es de nuestro dominio.
Obs.: Esta función es valida solo si el navegador del usuario acepta esta información ya que proviene del lado del cliente.

Comentarios

Entradas más populares de este blog

Obtener el anterior y siguiente registro de una tabla MySQL con PHP