Hoy voy explicar como realizar una validación web de usuarios con un sencillo formulario de login, mediante un fichero htpasswd.
Primero de todo, indicar que vamos a configurar esta validación mediante un fichero .htaccess, y guardaremos los datos de nuestros usuarios en el fichero .htpasswd, que guarda una relación de usuarios y contraseñas cifradas.
Para proceder a crear esta validación, lo primero que debemos hacer es crear nuestro fichero .htpasswd, para ello, usamos el comando (como root):
htpasswd -c /etc/httpd/.htpasswd test1
Con este comando, generamos un fichero .htpasswd en /etc/httpd/. Nos solicitará que introduzcamos la contraseña del usuario test1.
Una vez creado el primer usuario, vamos a crear otro, para ello, lanzamos el mismo comando, pero sin «-c»:
htpasswd /etc/httpd/.htpasswd test2
Volvemos a introducir y confirmar la contraseña, y ya tendremos nuestro fichero htpasswd con un formato similar a esto:
$ cat /etc/httpd/.htpasswd test1:$apr1$Sqo.kg5v$u19f.RbjU97YYIUDJMY9J1 test2:$apr1$4HdoLjIk$Gdy7pMELbXX8HMBdJ6GuN1
¿Que nos queda? Crear un fichero .htaccess en la ubicación a proteger con el siguiente contenido:
#vim /home/midominio.com/public_html/.htaccess AuthType Basic AuthName "¡Contenido Protegido!" AuthUserFile /etc/httpd/.htpasswd Require valid-user
Y con esto, tendremos listo nuestro formulario de validación mediante apache.
Por último, otra forma de configurar la validación es, en lugar de mediante .htaccess, en el propio virtualhost.
Para ello, dentro de la configuración del virtualhost, añadiremos las líneas directory (del directorio a proteger) y en las mismas:
<VirtualHost *:80> <Directory "/home/midominio.com/public_html/"> AuthType Basic AuthName "¿Acceso Restringido!" AuthUserFile /etc/httpd/.htpasswd Require valid-user </Directory> </VirtualHost>
Reiniciamos apache, ¡y listo!
0 comentarios