Puedes mirar el "host" de la página referida .. si no es el mismo host que la llama .. lo mandas a otro sitio ..
Código PHP:
<?
if (!@eregi($_SERVER['HTTP_HOST'],$_SERVER['HTTP_REFERER'])){
header ("location: seguridad.php");
exit;
}
?>
Con sesiones sería más seguro .. pues a la entrada por el "login" que tengas o por la página de tu sitio que tenga que llegar a esa página en cuestión .. solo tendrías q mirar si está o no declarada esa variable en la sesión activa.
Un saludo,