Hola,
Detalles del codigo de Gerald:
- El HTTP_HOST es mandado por el navegador. Eso quiere decir que si por un casual primero entro a dominio.com, pero luego los links internos (por x razon) son a
www.dominio.com (con las 3 w), el HTTP_HOST seria en este caso
www.dominio.com y el HTTP_REFERER solo tendria dominio.com. Con lo que fallaria la comparacion.
- Ese script compara el HTTP_HOST con toda la cadena del HTTP_REFERER. Asi que si la pagina referer es del tipo dominio.com/info.php?
www.tudominio.com el HTTP_HOST si esta en el HTTP_REFERER. Puedes usar parse_url() (
www.php.net/parse_url) para coger solo el hostname del HTTP_REFERER.
Ya se que estos 2 casos son poco comunes, pero por avisar ...
Saludos.
PD: Otro detalle, que si tu sitio es accesible por su IP, tambien contabilizaria los referers internos.