Juas, no lo he entendido muy bien...
Pero puedes hacer un truquito: si pones ?auth=true (o lo que te de la gana) en el enlace por ejemplo (http... /lelelele.php?auth=true), si ponen lelelele.php no saldrá nada SI Y SOLO SI:
if(auth == "true")
{
IMPRIME PAGINA
}
else
{
NO PUEDES ACCEDER
}
Es muy feo la verdad... pero puede servir si quieres hacer solo que poniendo lelelele.php no aparezca nada. en lugar de auth puede ser "id" o "lalalalala", y en lugar de true lo que te de la gana
Si realmente quieres "proteger" los contenidos, te recomiendo que uses sesiones y mediante login y pass puedes acceder ac ontenidos, o uses (mediante apache) .htaccess y .htpasswd y puedes proteger directorios mediante login y pass.
Pero como dices solo que sea de "enlace" pueeess... no se. Puedes recoger el header y mirar de qué pagina viene y si viene de "dentro" de la tuya asumir que viene desde un enlace, y si viene de fuera que no la pueda ver. Creo que este es el metodo más utilizado, pero bueno... para ir tirando el primero hace más o menos lo que quieres jeje (aunque feo y poco optimo)
Saludos!