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

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *