A combo of rational thinking and a little trickery.
of course this shall be a user authenticated section, and yes... by all means do use sessions.
If you wanted to get real anal about it, you could create your own TCP auth feature by creating a list of known IP's for each authorized user in your database table, thus allowing access from that user/pass combo from a finite amount of IP's (or you could say within a range via regex or substr)
But that statrs to get involved (but hey... it's a security feature)
Another little trick you can pull (and one that I do recomend) is to place the admin page directory well outside your doc_root say someplace funky like /etc/myLib/ and then do something like this...
in your httpd.conf enter:
Listen 888 (or any arbitrary number)
Now that Apache will be listening to port 888 add a vhost...
<VirtualHost default:888>
DocumentRoot /etc/myLib/
followed by the rest of your host directives
</VirtualHost>
...if the server is NOT your default server, you can just specify it as so:
<VirtualHost myserver.com:888>
now just restart apache
If you do all of that you get the nicety of PHP_SESSIONS with users from authorized hosts and they all need to know the port to access your script to even find the login 🙂
that aughta be good enough for most stuff, unless of course you got like the FBI files from Roswell or something.