Cómo proteger una carpeta con contraseña con .htaccess y .htpasswd

Esta página genera el código necesario para proteger un directorio o una web completa con usuario y contraseña en un servidor Apache (Linux/Unix). La contraseña se cifra con bcrypt, el formato que recomienda Apache 2.4.

Generar .htaccess y .htpasswd

Introduce el usuario y la contraseña que desees y pulsa "Generar código". Aparecerá el contenido de los archivos .htaccess y .htpasswd.

Ruta absoluta en el servidor de la carpeta donde subirás .htpasswd, normalmente algo como /home/tu_sitio/.

¿Cómo funciona la protección con .htaccess?

Apache lee el archivo .htaccess de cada carpeta antes de servir su contenido. Con las directivas AuthType Basic y Require valid-user el servidor pide usuario y contraseña al navegador, y los comprueba contra el archivo .htpasswd indicado en AuthUserFile. La protección se aplica también a todas las subcarpetas.

El archivo .htpasswd guarda una línea por usuario con el formato usuario:hash. La contraseña nunca se almacena en claro: aquí se cifra con bcrypt ($2y$), admitido por Apache desde la versión 2.4. Si tu servidor es más antiguo puedes generar el hash con el comando htpasswd del propio Apache.