io personalmente adotto questo sistema che non so quanto possa essere sicuro ma funziona.

nella pagina di login faccio partire la sessione, inserire username e password.
Cripto username e password con la funzione md5 e confronto se nel database esiste uno username a cui corrisponde quella password.
se SI registro nella sesione una variabile es:
session_register("set_admin");

poi ho creato un file sessione.php che viene incluso all'inizio di ogni pagina
include("sessione.php");
dell'area di amministrazione in modo che per ogni pagina controlla se la variabile 'set_admin' è registrata nella sessione.

il codice di sessione.php è qui di seguito
<?php
session_start();
if(!session_is_registered("set_admin")){
session_unset();
header("Location:violazione.php");
}

?>

Purtroppo no so dirti quale grado di sicurezza possa dare una sistema del genere, anzi se c'è qualcuno che può dirmi quali sono i punti deboli di un'autenticazione fatta in questo modo ben venga perchè non sono molto esperto in materia.