Creo que tu solución son las sesiones ó constantes:
1.- Defines una constante en index.php
2.- Buscas esa constante/sesion en pagina.php
a) Esta definida?? muestras su contenido
b) No esta definida?? Blokeas.. ó yo redireccionaria a index.php
... El problema con las sesiones es limitar el tiempo de duración.. alguna vez lo discutí con Cluster..

pero no he probado nada... Dudo que tengas ese problema con constantes...
Para usar constantes necesitas las funcines define() y defined() ...
http://mx.php.net/define
Ve lo que dicen los comentarios de la página:
Cita: This can be useful if you want to protect pages which get included from outsiders eyes, on your mail page (the page viewable by people) put define("X", null); then on all your other pages, you can then do something like:
if (!defined("X")) {
echo "You Cannot Access This Script Directly, Have a Nice Day.";
exit();
}
And your page is a good as protected :)
Espero te sirva. Suerte!