Tu código esta bien, si solo son 2 páginas, pero, si son mas? lo mejor es guardar un array en la variable de sesión...
Código PHP:
Ver original<?php
//página X
if (!in_array('paginaX',$_SESSION['paginas'])) { $_SESSION['paginas'][] = 'paginaX';
}
//validación...
//supongamos que tiene que pasar por 5 páginas
if (isset($_SESSION['paginas'])) { $numPag = count($_SESSION['paginas']); if ($numPag < 5) {
echo 'Te hace falta visitar páginas para acceder a esta página';
}
}else {
echo 'Error, no puedes acceder a esta página directamente!';
}
Claro, el ejemplo que te dejo es muy básico, pero por ejemplo, puedes validar el orden de las páginas, la cantidad, etc, ya es cuestión de lo que tu necesites...