Lo que debes es generar una variable de sesión o cookie al autentificar a tu usuario y validar su existencia en todos los scripts/páginas que sean de tu "zona segura". Las validciones en función de una variable de servidor que indica que nombre del script se está ejecutando o bien de que página viene referido no son seguras.
Si tu usuario intenta acceder directamente . .no habrá pasado por tu autentificación y no se habrá creado tu variable de sesión que es la que validas su existencia almenos.
Usando sesiones sería algo tipo:
En tu script que valida al usuario y lo redirecciona hacia algún sitio de su zona privada:
validar.php (autentificación de tu usuario).
Código PHP:
<?
session_start();
// etc .... y defines el valor si es validado tu usuario por tu autentificación
$_SESSION['validado']="SI"; // o mejor . .guardas el nombre o ID del usuario y te servirá para hacer el seguimiento del usuario en tus scripts ...
?>
validacion.php
Código PHP:
<?
session_start();
if (empty($_SESSION['validado'])){
header ("Location: tu_login.php");
exit;
}
?>
una_pagina_protegida.php
Código PHP:
<?
include ("validacion.php");
//etc
?>
Un saludo,