Skip to main content

Cómo restringir el acceso a tu web mediante htaccess

Usaremos el método de usuario y contraseña (Auth Basic) para acceder a la web ( o a una sección de la web ).

Paso 1. Crea un archivo de .htpasswd. Si ya existe, añade un usuario de la siguiente manera:

#con el parámetro -c crea el archivo
root$ htpasswd -c /home/user/.htpasswd username
#esto añade un usuario al htpasswd existente
root$ htpasswd /home/user/.htpasswd username

Este comando pedirá una contraseña, dos veces. Luego se puede comprobar que el archivo existe y está realmente cifrado:

root$ cat /home/user/.htpasswd
username:$aphash$QZN123D$c444B.B8838L1Vaa.aOf.

Paso 2. Crea el archivo .htaccess en el directorio que quieras proteger. El contenido debe ser el siguiente:

AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Y fin, con esto tendremos el directorio protegido y requerirá un usuario y contraseña válidas para acceder.

Exportar (e importar) bases de datos con mysqldump

La herramienta de mysqldump, nos permite exportar las bases de datos completas de la siguiente manera.

mysqldump -u usuario -pcontraseña nombre_base_de_datos > toda_la_bbdd.sql

También es necesario a veces exportar sólo una tabla de la base de datos, para ello haremos lo siguiente

mysqldump -u usuario -pcontraseña nombre_base_de_datos nombre_de_tabla > solo_una_tabla.sql

Pero es que además, puedes exportar sólamente algunas entradas de la base de datos de la siguiente manera:

mysqldump -u usuario -pcontraseña nombre_base_de_datos nombre_de_tabla --where="created_at>='2020-11-16'" > algunos_pocos_registros.sql

Para importar en la base de datos destino sólo deberás ejecutar:

mysql -u usuario -pcontraseña nueva_base_de_datos < mi_archivo.sql

Fácil y util!