Proteger directorios con contraseña 


  • Home
  • /
  • Blog
  • /
  • Proteger directorios con contraseña

Proteger directorios con contraseña puede ser útil en casos muy específicos, como por ejemplo cuándo deseas compartir material sensible y que sea accesible desde un navegador apenas por personas autorizadas.

En este artículo te enseñaremos como proteger directorios con contraseña dentro de tu cuenta de web hosting utilizando el archivo .htaccess y .htpasswd.

More...

Crear los archivos .htaccess y .htpasswd

El primer paso será crear los archivos que necesitamos para poder proteger directorios con contraseña, como fue mencionado antes necesitamos el archivo .htaccess y .htpasswd, estos archivos deben ser creados dentro del directorio que deseas proteger.

Para crearlos necesitas un editor de texto simple, como bloc de notas en windows o TextEdit en macOS.

No utilices Microsoft Word o cualquier editor similar pues el archivo se debe crear en un editor de texto plano (sin formato).

Crear archivo .htaccess

Crea un archivo en blanco con el nombre .htaccess dentro de este archivo coloca el  siguiente contenido:

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/www/dominio.com/.htpasswd
require valid-user

Importante: Reemplaza la ruta al archivo .htpasswd por la ruta completa asignada a tu cuenta de web hosting. 

Proteger directorios con contraseña en cPanel

Si estás utilizando cPanel el contenido del archivo .htaccess debe ser similar a la configuración indicada en la caja abajo.

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/usuario/.htpasswd
require valid-user

Reemplaza usuario por el nombre de tu usuario en cPanel

cPanel incluye una interfaz gráfica para configurar la protección de directorios con contraseña, puedes seguir esta guía si prefieres realizar este proceso manualmente.

Proteger directorios con contraseña con VestaCP

Si utilizas el panel de control VestaCP puedes proteger directorios con contraseña utilizando una configuración similar a la indicada a continuación:

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/usuario/web/sudominio.com/.htpasswd
require valid-user

Reemplaza usuario por el nombre de tu usuario en VestaCP y sudominio.com por el nombre de tu dominio.

Enviar el archivo .htaccess al servidor

Guarda el archivo .htaccess y envíalo (súbelo) al servidor dentro del directorio que desees proteger con contraseña, por ejemplo, si deseas proteger con contraseña el directorio "respaldos" debes guardar el archivo .htaccess dentro de:

Usuarios cPanel: /home/usuario/public_html/respaldos/
Usuarios VestaCP: /home/usuario/web/sudominio.com/public_html/respaldos/

Crear archivo .htpasswd

Vamos a crear ahora el archivo .htpasswd, el proceso es el mismo que utilizamos al crear el .htaccess, sin embargo el contenido de este archivo será diferente.

Por ahora solamente crea el archivo y déjalo en blanco, en este archivo almacenaremos las contraseñas que serán utilizadas para ingresar al directorio (carpeta) que deseamos proteger. 

Generador de contraseñas para htpasswd

Para generar una contraseña segura para .htpasswd utiliza el formulario a continuación, llena los campos respectivos y copia la salida dentro del archivo en blanco llamado .htpasswd que habías creado previamente, en este ejemplo he utilizado el nombre de usuario gospelidea y una contraseña al azar, el resultado fue:

gospelidea:$apr1$z4ybnpu8$Ys7kz5jXplcW9OzAU3SqM1

El resultado obtenido debe ser colocado dentro de su archivo .htpasswd. Si usted desea crear más de un usuario, genere la contraseña para cada uno de ellos y escriba cada usuario en una línea diferente dentro de .htpasswd, por ejemplo:

gospelidea:$apr1$z4ybnpu8$Ys7kz5jXplcW9OzAU3SqM1
visitante:$2y$10$rqnT228zQvr6Py8SxkLRpOIipIwShIj5KY
webmaster:$2y$10$LNJdDxYwAnCM5yh1k8vZdOM/uiOYS

Puedes crear más de un usuario, para conseguirlo debes escribir cada usuario con su contraseña en una nueva línea dentro del mismo archivo .htpasswd.

Enviar archivo .htpasswd al servidor

Finalmente guarda el archivo .htpasswd y envíalo (súbelo) al servidor, este archivo no debe ser accesible desde nuestra web, por lo tanto debe ser almacenada fuera de public_html de esta manera nos aseguramos que apenas el archivo .htaccess tenga acceso a nuestras contraseñas.

La ubicación del archivo .htpasswd debería quedar de la siguiente manera:

Usuarios cPanel: /home/usuario/.htpasswd
Usuarios VestaCP: /home/usuario/web/sudominio.com/.htpasswd

Realiza un respaldo en caso de existir un archivo .htpasswd en la cuenta de web hosting y luego agrega una nueva línea con el usuario y contraseña que se generó previamente.

Ten cuidado al sobreescribir el archivo .htpasswd que exista en tu cuenta sin estar completamente seguro, pues puedes perder información generada por el panel de control previamente.

En conclusión proteger directorios con contraseña es bastante sencillo, si haz seguido esta guía correctamente al llegar a este punto ya debes tener tu directorio asegurado, en caso contrario, regresa al inicio y revisa los pasos uno por uno prestando atención a los detalles principalmente las rutas utilizadas.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>
Success message!
Warning message!
Error message!