Muchas veces necesitamos proteger una página web para que solo las personas autorizadas puedan acceder a ella, como por ejemplo la página de administración de un sitio web. Es muy probable que si ya has hecho algo con bases de datos, automáticamente tu mente ha pensado en crear una tabla con usuarios y contraseñas encriptadas. Resulta que esta no es la única forma de proteger una web y en ciertas ocasiones no es la mejor. En esta ocasión aprendemos a usar el archivo htaccess para este objetivo.

¿Alguna vez has accedido a la administración de tu router? Si la respuesta es afirmativa es muy probable que al teclear la IP aparezca un cuadro de diálogo en el que te pide tu usuario y contraseña. Bueno, pues eso es lo que vamos aprender hacer.

Acceso .htpasswd
Acceso .htpasswd

Manos a la obra, lo primero que tendremos que hacer es crear dos archivos. Esta tarea la podremos hacer con cualquier editor de texto. Yo personalmente uso «Sublime Text» pero cada uno que use el editor de textos que mas se adecue a sus necesidades.

  • El primer archivo llamado .htpasswd contendrá los nombres de usuario y contraseñas de todos los usuarios que pueden entrar a la web o directorio.
  • El segundo llamado .htaccess contendrá las «ordenes» por las que se regirá el acceso, así como la ruta que permita localizar el .htpasswd en el disco duro del servidor.

Para esta demostración voy a crear un directorio dentro del servidor de www.rinconingenieril.es. Dentro del mismo voy a crear una página llamada index.html.

Y ¿qué hay que poner en cada archivo? vamos a verlo

  • .htpaswd: Como hemos dicho anteriormente hay que poner usuarios y contraseñas tal y como se muestra en la imagen, para crear el texto que poner en el archivo nos podemos ayudar de herramientas que hay online como es http://www.htaccesstools.com/htpasswd-generator en esta herramienta solo tendremos que introducir usuario y contraseña y nos dará el código que poner en el .htpasswd.
htpasswd
htpasswd
  • .htaccess: En este caso tendremos que introducir el siguiente texto:

    [sourcecode languaje=»html»]
    AuthUserFile /var/www/html/ingenieros/comunicaciones/acceso/.htpasswd
    AuthName «Ya sabes cual es»
    AuthType Basic
    require valid-user
    [/sourcecode]

    Donde AuthUserFile es la ruta a nuestro archivo .htpasswd y AuthName es la frase que aparece cuando el sistema pide el usuario y contraseña.

  • .htaccess
    .htaccess

    Hay que tener en cuenta una cosa, para este ejemplo he puesto ambos archivos en el directorio a proteger. Si realmente queréis tener un extra de seguridad siempre se recomienda que el .htpasswd no esté en el mismo directorio proteger.

    Ya por último deciros que si queréis podéis comprobar por vosotros mismos el acceso al directorio que he creado en este tutorial:

    • Dirección: http://www.opendomus.es/ingenieros/comunicaciones/acceso/
    • Usuario: usuario
    • Contraseña: password

    No olvides compartir y nos vemos en la próxima.

    Enrique Gómez

    Ingeniero Electrónico Industrial y Automático, amante de la comunicación audiovisual y de la divulgación ingenieril y científica. Puedes saber más sobre mí y sobre mis trabajos en enriquegomez.me