Si tienes un sitio web o una carpeta que quieras proteger el acceso con usuario y contraseña puedes hacerlo de forma sencilla mediante archivos .htaccess y .htpasswd.
Para crear los archivos .htaccess y .htpasswd utilizaremos el bloc de notas o un programa similar, sirve cualquier editor de texto plano (Sublime Text 2, Notepad ++), Word no funcionaría pues no se trata de un editor de texto plano. Lo primero de todo es revisar si ya dispones de un archivo .htaccess en el servidor en el que tienes alojado el sitio web o dentro de la carpeta que quieres proteger, ya que su utilidad se extiende más allá de proteger el acceso, sirviendo también para configurar algunos parámetros de la web. Si es así, simplemente editaremos dicho archivo, en caso contrario crearemos uno nuevo. Es posible que en Windows no puedas editar el nombre, puedes guardarlo como htaccess.txt y renombrarlo a .htaccess una vez lo subas al servidor. También debemos tener en cuenta que los archivos que comienzan con un punto, como es el caso, pueden ser considerados archivos de sistema y no mostrarse en el administrador/explorador de archivos.
El archivo .htpasswd contiene los nombres de usuario y contraseña, por lo que deberemos guardarlo en la raíz del alojamiento (fuera de la carpeta “public” o «httpdocs»).
Creamos el archivo .htaccess
Crearemos un archivo de texto con nuestro editor de texto plano y pegaremos lo siguiente:
AuthName "Restricted Area" AuthType Basic AuthUserFile /var/www/vhost/tudominio.com/.htpasswd AuthGroupFile /dev/null require valid-user
Aquí deberemos modificar el texto “tudominio.com” por nuestro dominio, recuerda escribirlo en minúsculas. Guardaremos el archivo, lo subimos a la carpeta que deseamos proteger en el servidor mediante nuestro cliente FTP (por ejemplo WinSCP, FileZilla, Transmit, Cyberduck) y lo renombraremos directamente en el servidor a “.htaccess” (sin comillas).
Creamos el archivo .htpasswd
Creamos un nuevo un archivo de texto con nuestro editor de texto plano y hacemos lo siguiente:
Vamos a http://www.htaccesstools.com/htpasswd-generator/ e introducimos el nombre de usuario que deseamos crear y la contraseña que deberá tener, luego pulsamos sobre “Submit-it”. Nosotros hemos usado como usuario cliente y como contraseña pibeca En la siguiente pantalla veremos una línea como la siguiente:
cliente:$apr1$s8riHvYj$EErXXNk6NmT3BanNH3IBX1
Como comprobarás, en la parte izquierda de la línea aparece el nombre de usuario que hayamos indicado y tras los dos puntos vemos la contraseña, pero esta se encuentra encriptada, de esta manera en caso de que consiguieran acceso al archivo .htpasswd no les sería fácil recuperar la contraseña original. Podemos crear varias cuentas de usuario, simplemente deberemos añadir uno por línea.
A continuación sólo debemos copiar dicha línea y pegarla dentro del archivo .htpasswd. Guardaremos el archivo y lo subiremos al servidor igual que hicimos con el archivo .htaccess, pero en este caso lo guardaremos en la raíz del alojamiento (fuera de la carpeta “public” o «httpdocs»).Tras seguir estos pasos tendremos el acceso a nuestro sitio web o carpeta protegido por usuario y contraseña.
Por si resultara más sencillo, hemos creado un archivo comprimido con los dos ficheros creados en este tutorial, sólo tendras que renombrarlos y subirlos a tu servidor para que funcionen (.htaccess y .htpasswd). Puedes descargarlos pinchando aquí.