En este tutorial vamos a ver cómo proteger directorios o carpetas de páginas web a través del archivo .htaccess y .htpasswd. Vamos a ver una explicación de como realizarlo de una manera manual, sin ayuda de paneles. Lo primero que haremos es explicar brevemente de que se tratan los mencionados archivos.
.htacces va a establecer el tipo de permisos necesario y quienes pueden acceder a qué archivos.
.htpasswd va a encargarse de guardar el nombre y contraseña de cada uno.
.htaccess
Este archivo lo vamos a insertar en la carpeta que deseamos salvaguardar. En el archivo vamos a escribir lo siguiente:
AuthUserFile ruta_absoluta/.htpasswd AuthName tu_nombre AuthType Basic require user solveticVamos a ver cada línea con una breve explicación a continuación.
La última línea sirve para indicar el usuario que puede entrar, en este caso el usuario que puede entrar es único, llamado solvetic, pero podríamos poner varios usuarios en la misma línea separándolos con espacios. Si pusiéramos valid-user podrían entrar todos los usuarios. También podríamos proteger por archivos, para ese caso pondríamos debajo de AuthType:
<Files "visita_solvetic.html"> require user solvetic </Files>
Podemos tocar muchas cosas, depende de lo que queramos conseguir.
.htpasswd
Este archivo contiene la lista de nombres de usuario y sus respectivas contraseñas, por lo que conviene tenerlo guardado. La contraseña vendrá encriptada. Cada línea del archivo vendrá formada de la siguiente forma:
usuario:contraseñaPodemos ejecutar el comando htpasswd para que nos cree el archivo, o nos muestre la cadena en la terminal, a continuación dejo la estructura de como se puede usar:
htpasswd [ -c ] [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile usuario htpasswd -b [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile usuario contraseña htpasswd -n [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] usuario htpasswd -nb [ -m | -B | -d | -s | -p ] [ -C cost ] usuario contraseñaVamos a ver 2 ejemplos:
Para imprimir en la terminal la cadena que tenemos que añadir de manera manual al archivo .htpasswd, ejecutamos:
htpasswd -nb usuario contraseñaSi queremos que escriba directamente en el archivo .htpasswd la cadena, ejecutamos:
htpasswd -cb ruta_donde_guardar/.htpasswd usuario contraseña
También te puede interesar este generador de contraseñas para el fichero, es muy fácil de usar, vamos a ver cómo se crea, insertamos el nombre de usuario y la contraseña para él:
Ahora pinchamos en el botón create .htpasswd file y nos saldrá lo siguiente:
Tendremos que copiar la línea que nos aparece en el recuadro de texto en nuestro archivo, recuerda que cada usuario va en una línea.