@DrNemo прав, HTTP_REFERER доверять не стоит, я с лёгкостью обойду такую защиту от дураков, с сессиями попробовать можно, сделайте вот что:
Открываем файл bla.php, пишем:
session_start();
$_SESSION['access'] = TRUE;
Открываем файл 1ndex.php, пишем:
session_start();
if (! isset($_SESSION['access']))
{
echo 'Your text of error.';
exit(0);
}
unset($_SESSION['access']);
Это наверное то, что вам необходимо...