Proteger archivos de una web con contraseña en .htaccess

Vamos a ver cómo se puede proteger archivos de una web con contraseña usando .htaccess y .htpassword.

Hace unos días hable sobre proteger directorios con contraseña en .htaccess con .htpassword, quizás también os parezca interesante. Otra manera de protección de archivos o ficheros es la de permitir el acceso al directorio donde se encuentran solo a determinadas IPs con las funciones htaccess deny y allow.

Ya puestos a proteger… os recomiendo leer este post sobre proteger nuestro servidor de prácticas de hotlinking.

Proteger archivos con contraseña en .htaccess con .htpassword

Código necesario:

AuthType Basic
AuthName "Zona Privada"
AuthUserFile /rutaservidor/.htpasswd

<Files "nombredelarchivo.html">
Require valid-user
</Files>

Os comento las líneas:

  • La primera línea indica que se va a proceder a una autentificación de usuario.
  • En la 2º indicamos el nombre que saldrá en la ventana de aviso.
  • En ‘AuthUserFile‘ tenemos que poner la ruta donde se encuentra el archivo .htpassword. Es importante que se ponga la ruta desde la raíz del servidor, por ejemplo: ‘/httpwebs/autentificacion/.htpassword’.
  • Por útimo tenemos que poner el nombre del archivo a proteger y que sea un usuario válido del .htpassword.
  • En caso de querer proteger más archivos del mismo directorio, repetimos las 3 últimas líneas con los ficheros a proteger.

Ahora solo nos queda configurar el archivo .htpassword para dar de alta los usuarios con acceso al archivo:

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.

Subir los archivos por FTP

El archivo .htaccess lo tenemos que subir por FTP al directorio donde se encuentran los archivos a proteger, y el .htpassword a donde queramos y hayamos referenciado en el .htaccess.

Restringir el acceso por usuario

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
compartir
Publicado por
Aner Barrena