Elig,
antes que nada, mis disculpas por haber dejado pasar tanto tiempo antes de ponerme con este post, pero esperando el momento.... han pasado semanas.
En fin, que aquí estoy.
He estado leyendo atenta tu propuesta y, si bien "creo" que no acabo de comprender exactamente la dinámica del sistema que propones (me faltó ver las funciones test_password() y password_error()) creo que la idea es usar por base de datos una serie de imágenes. Es así ¿no?
Bueno, la verdad es que la idea de guardar los pass como nombres de archivo de imágenes me ha parecido cojonuda
Hice algo basándome en la propuesta de las imágenes, a ver qué te parece y si era algo así a lo que te referías
Aquí el ejemplo
Básicamente lo que hace es llamar a una imagen que lleve por nombre el valor introducido en el campo del formulario.
Si la imagen no existe redirecciona a la página denegado.htm
Si la imagen existe, redirecciona a la página ok.htm previa inserción de una cookie sin caducidad, lo que provoca que la cookie tenga vigencia mientras dure la ventana del navegador abierta.
Como es facil ver en el código fuente la página ok.htm, ésta y el resto de páginas que necesiten estar bajo password deberán llevar otro script que verifica la cookie.
Para evitar "listos" que pretendan insertar la cookie por las suyas desde la location del navegador, en la cookie se guarda el valor del password correcto y en cada página que deba estar bajo esa protección, el script sacará la cookie y buscará la imagen con el nombre que encuentre en la cookie. Si la imagen no existe, redirecciona a la página para introducir el password. Si la imagen existe, pues te deja navegar.
Bueno, yá me dirás tus impresiones.
Saludos