Yo lo hago todo con php y para restringir el acceso a ciertas páginas. Se utiliza la variable $_session
Veamos un ejemplo
login.php
<form action="control.php" method="post" name="profe">
<table align="center" width="270" cellspacing="2" cellpadding="2" border="0">
<tr>
<td width="163" bgcolor="#cccccc"> Entra en tu cuenta</td>
</tr>
<tr>
<td align="right">Usuario:</td>
<td width="93"><input type="text" name="usu" size="15" maxlength="50" /></td>
</tr>
<tr>
<td align="right">Clave:</td>
<td><input type="password" name="pass" size="8" maxlength="50" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="submit" type="submit" value="ENTRAR" /></td>
</tr>
</table>
</form>
control.php
<?php require("../libreria/conecta.php");
$db= new base();
$usu=$_POST["usu"];
$clave= md5 ($_POST["pass"]);
$ssql = "SELECT * FROM usuario WHERE usu= '$usu' and pass= '$clave'";
$rs = $db->consulta($ssql);
while ($fila= mysql_fetch_array($rs))
{
if (mysql_num_rows($rs)!=0){
session_start();
session_register ("ent", "id", "aut");
$_SESSION["ent"]= "si";
$_SESSION["id"]= $fila["id"]; // Identificador de la persona registrada
$_SESSION["aut"]= $fila["cat"]; // Autoridad de la persona en este portal, otorgada por el administrador
$_SESSION["usu"]= $fila["usu"];
header ("Location: inicio.php");
}
}
$db->cerrar_base();
?>
El archivo seguridad.php, es que decide si entra o no a la página restringida. En el caso que no cumpla la condición para entrar en esa página, te redirige a la página inicial (login.php).
seguridad.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
<body>
<?php session_start();
//comprueba que el usuario está autentificado
if ($_SESSION['ent'] != "si"){
//si no existe, envio a la página de identificación
print "<meta http-equiv=\"refresh\" content=\"0; url=login.php/\">";
//ademas salgo de este script
exit();
}
?>
</body>
</html>
Por último, en la página que queramos restringir, se realizará un include al archivo seguridad.php de esta forma:
<?php
include ("seguridad.php");
?>
//seguido al código que corresponda a esta página
Espero que entiendas la explicación. Cualquier duda, me da un toque.