Yo creo que te estás complicando demasiado.
Si no quieres que abran un archivo directamente, tiene que haber un modo de que el php compruebe, independientemente de todo eso, la dirección desde la que se accede.
Además, si el usuario quiere trastear, no tiene que abrir otra pestaña. Se loguea, y desde la pestaña inicial puede cambiar la ruta igualmente, así que lo de ir contando me parece un poco tontería.
Si tu objetivo es que sólo puedan llegar a un archivo o una página mediante un enlace concreto, yo lo que haría sería que el enlace fuese un formulario con un input oculto y que el formulario enviase por POST.
Código HTML:
<form method='post' action='pagina.php'>
<input type='hidden' value='llego_bien' id='llega'>
<input type='submit' value='ir alli'>
</form>
Luego, en la página a controlar, te aseguras de que exista el post
Código PHP:
if ($_POST['llega']=="llego_bien")
{
// muestro la página
}
else
echo "no hagas trampas";
Y así tienes un método bastante fiable o.o
Luego si quieres ser más avanzado todavía puedes meterle variables de sesión generadas aleatoriamente al formulario para que no puedan enviar los datos desde una web hecha a propósito para eso y bla bla bla... pero sigue siendo una chorrada.
Si el usuario tiene permiso para acceder al archivo mediante el enlace ¿Por qué no dejarle acceder mediante la url?