Con PHP, si tiene "limitaciones" como la que mencionan el el minituto que te paso Javier, podes hacerlo con "IFs" i formularios (ovio), mira, este seria un ejemplo muy, muy cavernicola

de hacerlo
<?
// Recuperamos los datos del campo
$psw = $_GET['psw'] ;
// Verificamos si esta ieno
if ($psw=="") {
echo "<form action=protege.php method=GET>" ;
echo "Palabra majika<input type=text name=psw>";
echo "<input type=submit></form>";
}
esle
{
// si esta ieno i, con la clave, entonces incluimos el archivo...
if($psw=="clave"){
include ("archivo.php") ;
}
esle //si esta ieno, pero nu es laclave, lo redirijimos al formulario
{
header ("protege.php");
}
}
?>
Creo que seria aglo asi

este codigo, lo guardas como "protege.php" , i, el
archivo.php podria ser cualkiera que pudieras proteger, o, en lugar de eso, poner el contenido de la pagina, o sea, letras i too eso

Espero que sirva...
Salu2
NOTA: Me parece que, podes reemplazar "
protege.php" por
$PHP_SELF() , o, algo asi, solo que nu receurdo como es

...