Como proteger una carpeta del servidor con .htaccess

Para poder proteger una carpeta concreta de un servidor con un usuario y contraseña, hay varias maneras. Habitualmente la de manera más comoda y rápida es desde el panel de control de nuestro servidor, pero en caso de que no dispongamos de accesso a ese panel, sólo al FTP de esa carpeta vamos a ver como hacerlo con un poco de código. El servidor deberá soportar PHP.

Primero creamos un archivo llamado por ejemplo path.php y en el escribimos la siguiente linea de código:

<?php echo realpath('path.php'); ?>

Guardamos el archivo y lo subimos a la carpeta que queremos ocultar. Ahora en el explorador ponemos la dirección del archivo path, http:{nombredominio}/{carpeta}/path.php, donde el nombre del dominio será el dominio en cuestión y la carpeta el de la carpeta que queremos proteger, ambos sin corchetes. El resultado debemos guardarlo, porque es la ruta real en el servidor. Suele sar algo parecido a “/usr/home/{nombredominio}/web/{nombrecarpeta}/path.php” está ruta, sin “path.php”, la necesitaremos después en otro paso.

Ahora vamos a creamos un archivo “.htaccess” y dentro ponemos el siguiente código:

AuthName "Página de administración protegida"
AuthType Basic
AuthUserFile "/usr/home/{nombredominio}/web/{nombrecarpeta}/.htpasswd"
Require valid-user

En la tercera linea hemos colocado la ruta que nos habia devuelto el archivo path, sin los corchetes. Este archivo lo guardamos y lo subimos a la carpeta.

Ahora crearemos el archivo “.htpasswd” y dentro pondremos el siguiente código:

{usuario}:{contraseña}

Donde cambiaremos el usuario y la contraseña, sin los corchetes, por lo que hayamos elegido. Para la contraseña vamos a utilizar una encriptación para que no sea facil de averiguar, para ello lo más fácil es ir a un generador de contraseñas, por ejemplo: https://hostingcanada.org/htpasswd-generator/ y seleccionaremos la opción Apache specific salted MD5. En la parte superior nos pondrá el usuario y contraseña, así que solo deberemos copiar lo que nos ponga allí en archivo “.htpasswd”. Por ejemplo para usuario: pepe y contraseña: Password789 el código resultante sería: pepe:$apr1$83zbjdri$Qxq4PtN2vFik/skFQYtiZ0

Ahora si intentamos acceder a la carpeta a traves del explorador nos preguntará el usuario y contraseña no encriptada, es decir Password789.

Recordar eliminar el archivo path.php, que es sólo para que consigamos la ruta y ya lo tenemos.

Deja un comentario

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

uno × uno =

Ir arriba