Una solución que dio PHP-Nuke al problema podría ser...
Código PHP:
if (eregi("pagina.php",$_SERVER['PHP_SELF'])) {
Header("Location: index.php");
die();
}
Ve si el php que se está ejecuntando actualmente es el llamado pagina.php desde el mismo.
es decir, si intentan ingresar directamente a noticias, los matas con esta sentencia, deben pasar por el admin.php?sitio=noticias...
Espero que te sirva...
Sayonara!