Si gestionas un sitio web, por simple que sea, en ocasiones puede ser interesante proteger un fichero o directorio con usuario y contraseña. Lo podemos realizar usando el fichero .htaccess (Apache claro).
Por ejemplo puede ser interesante tener un directorio con información delicada (p.e. financiera) a compartir con un cliente o asesoría, o que queremos compartir sólo con ciertos usuarios. Si lo realizamos de esta manera podrán entrar con un navegador el cual les solicitará introducir el usuario y contraseña. Aquí os dejo como:
Proteger un directorio:
Crear el directorio e introducir un fichero llamado .htaccess con un contenido de este tipo:
AuthUserFile /usr/www/dominio/directorio1/.htpasswd AuthType Basic AuthName "Nombre del Sitio" require valid-user
La primera línea indica la ruta del fichero donde tenemos el fichero .htpasswd. Esta puede cambiar a tu gusto (y de hecho la cambiaremos en los ejemplos). Este lo podemos crear desde el terminal con: htpasswd -c /usr/www/dominio/directorio1/.htpasswd usuario.
También puedes generar ese fichero desde esta web o esta.
Si lo que queremos proteger es un fichero concreto podemos así:
<files "fichero.aaa"> AuthUserFile /opt/guide/dominio/.htpasswd AuthType Basic AuthName "Nombre" require valid-user </files>
- Otra opción es ponerlo en el fichero de configuración de Apache de una manera similar.
<Directory "/srv/www/htdocs/dominio/Directorioprotegido"> AuthType Basic AuthName "Acceso restringido" AuthUserFile "/srv/www/htdocs/dominio/contraseñas/.htpasswd" Require valid-user </Directory>
Evidentemente para esto necesitamos acceso al terminal y muchos usuarios de hosting compartidos no lo tienen. En un próximo artículo pondremos cómo usar una base de datos para autentificación, usando también cifrados más seguros.
Os recomendamos los siguientes productos relacionados con la informática:
Pingback: Proteger una aplicación web con contraseñas en una base de datos: Usar las de CMS como Drupal | Smythsys's Weblog