Je réalise des sites depuis 10 ans pour mon plaisir... et je peux t'assurer que ce n'est pas suffisant comme protection. Dés la 1ère ligne, il manque pas mal de protection. Il faut protéger davantage ta session.
1.Regarde dans la doc PHP: session.use_cookies, session.use_only_cookies, session.use_trans_sid... Par exemple: ini_set('session.cookie_httponly',1); n'autorise la session qu'en HTML ce qui veut dire que personne ne peut y avoir accès via un script en Javascript.
2. Ensuite, il ne faut jamais mettre le mot de passe en session. Il faut utiliser le système du jeton (Cherche dans Google). Et aussi protéger ta session avec un hash différent de MD5 et SHA1 car facile à "brute-forcer". Regarde du côté de ini_set('session.hash_function','MD5???SHA1').
3. Tu dois aussi protéger ton formulaire par du Javascript et induire en erreur les robot-spammers en ajoutant d'autres champs à ton formulaire. La plupart des robot-spammers auront du mal à valider ton formulaire. Car dis toi bien que même si la page d'administration n'est pas référencée par Google, les robot-spammers, eux, testent toutes sortent d'URL pour trouver l'accès admin.
4. Bien évidemment, il faut que le nom de ta page ne soit pas admin.php, c'est trop facile pour les robot-spammers.
Bref, voici un bon lien qui pourra t'aider: http://sebsauvage.net/wiki/doku.php?id=php:session
Et en POO: http://tontof.net/?1334768400
Perso, je rends la chose encore plus complexe en insérant des clés dans les noms des champs du formulaire pour brouiller les pistes.