beh, direi decisamente dato che basta aggiungere un cookie al proprio browser (e ci sono mille mila modi per farlo)

dovresti usare le sessioni
http://it2.php.net/session

In realtà anche le sessioni su PHP non sono sicure, per niente, soprattutto in hosting condiviso dato che gli hoster, in generale, tengono le sessioni di TUTTI i siti di un server nella stessa cartella

se vuoi sicurezza elevata, dovresti:
- usare le SSL, ovvero la comunicazione su HTTPS per inviare il form
- alternativamente usare una libreria in javascript per il form di login che invii, invece del login, un hash dello stesso con un SALT aggiunto per impossibilitare la lettura dell'utente/password in modo facile (magari un hmac-sha1)
- usare le sessioni su DATABASE (in modo da permettere l'accesso al contenuto solo all'utente mysql che può accedere al db, ergo tu e l'amministratore)
- generare un nuovo identificatore di sessione ogni richiesta (in modo da prevenire varie forme di session hijacking)
- tempi corti per la durata della sessione, non più di 5 minuti, al massimo rifanno il login
- eliminare sistemi di auto login
- i cookie che invii crittografali utilizzando ad esempio il serpent, twofish, blowfish, aes e cosi via, sia la chiave sia il contenuto, magari utilizzando un SALT ad hoc per utente che potrebbe essere lo sha1 dell'id della sessione o lo sha1 della chiave della sessione
- ovviamente niente register global, anzi, verificare che dentro $_REQUEST non ci stiano variabili che inizino per _GET[, _POST[, _SERVER[, _FILES[, _COOKIE[, GLOBAL[ e cosi via in modo da ridurre possibili giochini che si possono fare quando il register global è on (ovvero se sei in hosting sempre)
- utilizzo corretto dei backslash e dell'escaping per i parametri in entrata e per quelli che vanno a finire al database
- utilizzo di stripslashes o htmlentities per sistemare quello che si invia al browser, in modo da evitare rischi dovuti a campi malformati dall'utente

c'è altro, ma per adesso penso possa bastare