En PHP puedes implementar lo que propones con uso de sesiones.
www.php.net/session
No es que no te permita volver atras .. sino que la validación de esas variables de sesión ya las gestionarás e identificaras que volvistes atras o bien entrastes directo a una página que ha de pasar primero por una autentificación (donde creas esas variables de sesión).
El tema del "esta página ha caducado" es una de las cosas que ajusta el uso de sesiones "standard" de PHP .. se refiere al control del "caché" de las páginas generadas bajo sesiones: session_cache_limiter() (que por defecto queda a un "no caché")
Un saludo,