Mira, estoy algo frio en JavaScript, pero estoy seguro que con JS puedes evitar lo que dices (si buscas un poco), pero puedes intentar lo siguiente:
Si manejas algo de PHP puedes hacer un pequeño código antes del HTML en el que solicites la variable de seción, si esta no existe o no es correcta, simplemente evita que se cargue la página, de este modo no importa si teclean directamente la dirección de la página.
Si no manejas PHP busca scripts ya hechos que hacen lo que necesitas (busca por seciones en PHP), de momento no tengo el vínculo exácto, pero en
www.desarrolloweb.com seguro encontrarás lo que buscas, desde ahí puedes descargar códigos simplemente para copiar y pegar.