Para proteger un directorio con usuario y contraseña en nuestro servidor apache hay que generar 2 archivos: .htaccess y .htpasswd
Son 2 archivos de texto plano.
El primero establece el tipo de permiso y los usuarios que pueden acceder. Tiene que ir dentro de la carpeta a proteger. Tienen un punto delante puesto que en linux asi se ocultan los ficheros al hacer un simple "ls".
El segundo guarda el nombre de los usuarios y sus contraseñas encriptadas
.htaccess
Forma basica del archivo .htaccess puede ser:
AuthUserFile /path/absoluto/fuera/de/web/de/.htpasswd AuthName Mensaje_a_mostrar_sin_espacios AuthType Basic require user usuario_autorizado
NOTAS:
- Hay que indicar la ruta absoluta al archivo .htpasswd
- Por seguridad que dicho archivo quede fuera de lo que se ve en la web
- Por seguridad también ponerle otro nombre.
- En los servicios de hosting suelen crear un directorio .htpasswd donde, en teoría poner dichos archivos. No es obligatorio usarlo.
- si deseamos poner mas de un usuario simplemente añadirlo así:
require user usuario_autorizado admin otro_tb_autorizado
O permitir el acceso a todos los usuarios del fichero .htpasswd:
require valid-user
.htpasswd
Este fichero tiene la lista de pares nombre:password autorizados por cada linea. La password va encriptada:
usuario_autorizado:]A/8syUggG3mv5a1
Para generar la contraseña encriptada en el fichero htpasswd ejecutamos en consola :
htpasswd -nb usuario contraseña
El usuario:passwd que nos muestra debemos copiarlo en el fichero .htpasswd
Finalmente
Una vez copiado el .htaccess en la carpeta o carpetas a proteger y el .htpasswd (con otro nombre) en la ruta deseada fuera del alcance web, veremos que al intentar entrar en dicha carpeta nos hacen la peticion de usuario y password.
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminar