Vamos a ver como se puede proteger un directorio con contraseña usando .htaccess y .htpassword.
En muchos de nuestros proyectos necesitamos tener ciertos directorios de la web fuera del alcance de los usuarios, bien sea porque son directorios privados de administración o porque estamos trabajando con contenido que el usuario todavía no debe ver.
Otra manera de protección de directorios es la de permitir el acceso al directorio a determinadas IPs con las funciones htaccess deny y allow.
En una web se pueden proteger con contraseña estos 2 tipos de contenidos:
Hace varios meses hice un post sobre proteger nuestro servidor de prácticas de hotlinking. En ese caso puse ejemplos para que otras webs no nos roben ancho de banda de imágenes.
En este ejemplo voy a poner el código necesario para proteger directorios con contraseña:
AuthType Basic AuthName "Zona Privada" AuthUserFile /rutaservidor/.htpasswd Require valid-user
Os comento las líneas:
Ahora solo nos queda configurar el archivo .htpassword para dar de alta los usuarios con acceso al directorio:
usuario:password usuario2:password2
En este archivo podemos poner tantos usuarios y password como queramos, pero debemos poner cada usuario y pass en una línea.
Se debe escribir el nombre de usuario, seguido de 2 puntos y el password.
El archivo .htaccess lo tenemos que subir por FTP al directorio que queremos proteger, y el .htpassword a donde queramos y hayamos referenciado en el .htaccess.
En caso de tener varios usuarios en el archivo .htpassword podemos limitar el acceso a un usuario o a varios de ellos.
El cambio sería en nuestro archivo .htaccess, debemos cambiar esta línea:
require valid-user
por esta otra:
require user usuario
En caso de querer meter más usuarios sería de la siguiente manera:
require user usuario1 usuario2 usuario3