Acceso con usuario y contraseña mediante el archivo htaccess

Acceso con usuario y contraseña mediante el archivo htaccess

 

En ocasiones tengo que poner online lo que voy desarrollando para que el resto del equipo o el cliente puedan ir siguiendo los avances pero no tiene que ser algo público, lógicamente, y para esto preparo un acceso con usuario y contraseña mediante el archivo htaccess al proyecto que tengo que desarrollar.

Todos los hosting tienen la opción de crear subdominios que podrían ser algo como dev.midominio.com o proyecto.midominio.com , este subdominio tiene su propia carpeta y en ella vamos a alojar el proyecto.

Otra posibilidad si desarrollamos varios proyectos a la vez es hacer carpetas dentro de ese subdominio a las que accederemos a través de algo como proyectos.midominio.com/proyecto1 o dev.midominio.com/tiendadeprueba por ejemplo.

Entendido esto pasamos a preparar el acceso con usuario y contraseña mediante el archivo htaccess.

Acceso con usuario y contraseña mediante el archivo htaccess

Primero en la carpeta raíz del proyecto, la que contiene todo, buscamos el archivo .htaccess o si no existe lo creamos y dentro metemos estas 4 líneas de código

AuthType Basic
AuthName "Zona Protegida con Contraseña"
AuthUserFile /ruta/completa/hasta/nuestro/archivo/.htpasswd
Require valid-user

La primera declara que estamos creando un acceso por identificación.

La segunda es el titulo que aparecerá en el recuadro que pedirá el usuario y la contraseña.

En la tercera línea (AuthUserFile /…) vemos que se hace referencia a una ruta y a un archivo .htpasswd que es donde vamos a tener la lista de los usuarios y contraseñas que tendrán acceso.

Para saber la ruta a nuestro archivo .htpasswd podemos utilizar las siguientes dos líneas de código

<?php
$dir = dirname(__FILE__);
echo "<p>Esta es la ruta a .htpasswd : " . $dir . "/.htpasswd" . "</p>";
?>

Una vez tenemos la ruta que pondremos en AuthUserFile necesitamos usuarios y claves, estás últimas irán encriptadas, en el archivo .htpasswd

Podemos generar las contraseñas nosotros mismos con este código php:

<?php
// Contraseña a encriptar
$clearTextPassword = 'PatatasConChorizo';

// Encripta la contraseña
$password = crypt($clearTextPassword, base64_encode($clearTextPassword));

// Ver contraseña
echo $password;
?>

También se puede utilizar un generador online para crear la contraseña como:

http://www.htaccesstools.com/htpasswd-generator/

Acceso con usuario y contraseña mediante el archivo htaccess

Una vez tenemos usuarios y contraseñas los escribimos dentro del archivo .htpasswd en formato clave:valor y cada par de usuario:contraseña que vayamos a añadir estará en una línea distinta. Para entenderlo mejor un ejemplo:

usuario1:p4t4t4sC0#xor1z0

cliente:5uW3bAk1

designer:m1r4L05C01Or35

Con esto listo cuando se acceda a la url o el subdominio aparecerá una ventana pidiendo usuario y contraseña para poder entrar.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.