Inicio » Trucos Informáticos » Sitios web » Protección de un directorio con .htaccess y .htpasswd

Protección de un directorio con .htaccess y .htpasswd

Son múltiples las ocasiones en las que necesitamos proteger un directorio de nuestro servidor web ante las miradas indiscretas. Almacenamos en él documentos y/o archivos de acceso a paneles de administración, o de otro tipo, que, si son manipulados sin sentido, sin control y, por que no, con mala fe, pueden alterar el buen funcionamiento de nuestro sitio web.

Protección de un directorio con .htaccess y .htpasswd

Protección de un directorio

Existe un método para impedir el acceso al contenido de dicho directorio a cualquier persona ajena. La única forma de hacerlo es escribiendo un nombre de usuario y una contraseña que, obviamente, no son conocidos por los usuarios normales. Para activar esta protección se necesita hacer lo siguiente:

  • Crea en el directorio a proteger un archivo .htaccess, tal como explico en Gestionar el archivo .htaccess en servidores Apache, o modifícalo, si es que ya existe, añadiendo las instrucciones siguientes:
    AuthType Basic
    AuthName “Entrada”
    AuthUserFile /path/to/.htpasswd
    Require valid-user
  • Accede a la siguiente página web: Htpasswd Generator
  • Introduce un Nombre de usuario (Username) y una Contraseña (Password), el nombre y contraseña que vayas a utilizar en el acceso, y pulsa sobre el botón Submit-it.
  • Se mostrará un código, formado por el Nombre de usuario y la Contraseña (encriptada) que has introducido. Algo similar a lo siguiente:
    manolo:0ZYq7RbghazdM
  • Tal como hiciste para crear el archivo .htaccess, utilizando el Bloc de notas, crea ahora el archivo .htpasswd, En este archivo sólo debes introducir el código obtenido en el apartado anterior.
  • Sube ambos archivos a tu servidor, exactamente al directorio que quieres proteger.
  • Cuando intentes acceder a este directorio a través del navegador web, se abrirá una ventana en la que tendrás que introducir el Nombre de usuario y la Contraseña (sin encriptar, claro está).

Solicitar

  • Se abrirá una ventana similar a la anterior (obtenida del navegador Firefox). Al pulsar sobre Aceptar entrarás en el directorio protegido.

Artículos recomendados

Acerca de fabriciano

Amante de la informática y de Internet entre otras muchas pasiones. Leo, descifro, interpreto, combino y escribo. Lo hago para seguir viviendo y disfrutando. Trato de dominar el tiempo para que no me esclavice.

9 Opinan

  1. Hola….
    Tengo un problema, tengo los archivos ubicados correctamente pero cada vez que me pide el usuario y contraseña me la vuelve a pedir una y otra vez. La verdad no se porque.
    Espero me pueda ayudar.

    Gracias

    • Cuando te la pide la primera vez, ¿eres capaz de acceder a la página web de inicio, la index.php del directorio?

      Saludos.

    • Hola gracias por responder.
      No puedo acceder a ninguna pagina del directorio. Me pide continuamente el Usuario y el password.

      • Prueba a realizar el cambio en la instrucción AuthUserFile, indicando el camino al directorio en tu servidor, tal como puse ahora en el artículo.

        Quedaría algo similar a lo siguiente, suponiendo que el directorio en el que pones ambos archivos es prueba:

        Archivo .htaccess:
        AuthType Basic
        AuthName “Entrada”
        AuthUserFile /home/www/prueba/.htpasswd
        Require valid-user

        NOTA: Tienes que sustituir /home/www/prueba/ por lo que corresponda en tu servidor.

        Archivo .htpasswd:
        manolo:0ZYq7RbghazdM

        NOTA: Está claro que el archivo .htpasswd tienes que generarlo recurriendo al enlace que te indico arriba.

        A ver si así funciona.

        Saludos.

  2. hola fabriciano, una pregunta, como puedo añadir una excepcion a este codigo para que no me pida usuario y contraseña del archivo index.php

    AuthType Basic

    AuthName "No access"

    AuthUserFile .htnopasswd

    AuthGroupFile /dev/null

    Require valid-user

    • Lo que tendrías que hacer es borrar el código que indicas en .htaccess. De esa forma cualquiera puede acceder al directorio en el que está dicho archivo y .htpasswd (mejor que .htnopasswd).

      Saludos.

  3. Hay un pequeño error por lo menos ami no me funciona si no ponfo el "AuthUserFile .htpasswd" en ruta absoluta

    • En eso tienes razón. Debes indicar la ruta en la que se encuentra .htpasswd, algo similar a lo siguiente:

      AuthUserFile /htdocs/tu_dominio/www/carpeta_protegida/.htpasswd

      Saludos.

Deja un comentario