Proteger web con contraseña usando .htaccess

29 Dic 2010

Muchos servicios de alojamiento web permiten que pongamos una contraseña para impedir el acceso a determinadas carpetas o ficheros dentro de nuestroas webs.

Esta práctica es de mucha utilidad por ejemplo cuando estamos desarrollando un nuevo sitio y no queremos tener aún visitas o para proteger una réplica online de nuestras páginas que utilizamos como entorno de desarrollo.

Si nuestro servicio de hosting no nos proporciona las herramientas necesarias para proteger directorios, podemos hacerlo de forma manual fácilmente mediante la combinación de los ficheros .htaccess y .htpasswd.

Generando un archivo de contraseña (.htpasswd)

Este archivo recoge mediante un formato de pares clave-valor, los nombres de usuarios que tienen acceso al directorio protegido junto a su contraseña. Los valores se separan mediante dos puntos (:) mientras que cada registro, ocupa una nueva línea:

etnassoft:z7dKwKS8ER13A
guestuser:o9cIUE.l.Q2aU

Como podemos observar, tenemos el nombre de usuario y a continuación la contraseña encriptada. Si necesitamos un servicio que haga este trabajo por nosotros, podemos recurrir a alguna de las siguientes direcciones web:

http://www.4webhelp.net/us/password.php
http://shop.alterlinks.com/htpasswd/htpasswd.php

Una vez que tengamos listo nuestro archivo, lo guardamos y lo subimos al servidor con el nombre .htpasswd anotando cuidadosamente la ruta.

Modificando el .htaccess para proteger el directorio

Solo nos queda el incluir el anterior fichero en el .htaccess para que nuestros directorios o ficheros queden protegidos. Para eso, solo tenemos que buscar el archivo dentro de la carpeta que nos interese restringir y editarlo:

AuthName "Web Protected!"
AuthType Basic
AuthUserFile /home/username/.htpasswd
Require valid-USER

NOTA: Si queremos proteger todo el sitio, modificamos el .htaccess que se encuentra en el raíz. Si no tenemos un .htaccess, lo creamos con cualquier editor de texto plano tipo Notepad y lo subimos sin más.

Cambiamos el AuthName con el mensaje que queramos que le aparezca al usuario y el AuthUserFile con la ruta completa del .htpasswd que hemos creado.

Y eso es todo; cada vez que intentemos acceder a la web, se nos pedirá nombre de usuario y contraseña.

Petición de autenticación en una web

Una forma fácil y segura de proteger contenido confidencial  o privado de visitas inesperadas.

Más:
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

{2} Comentarios.

  1. Rafa

    Muy bueno el auto, pero yo quisiera saber lo siguiente.
    Cuando me sale el cartel que tenemos que poner en cada sitio, ya que la clave es encintada.
    Me lo podrías explicar ya que es mi prime .htaccess y .htpaswoord

    • Carlos Benítez

      Discúlpame pero no he entendido tu mensaje… ¿usas un corrector ortográfico agresivo?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *