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. Los campos obligatorios están marcados con *

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