Gestión de variables de entorno seguras (.env) para tus proyectos. Imprimir

  • 0

Cuando estás desarrollando una aplicación web en Python (ya sea con Django, Flask o FastAPI), uno de los errores de seguridad más graves y comunes es dejar las contraseñas de las bases de datos, las llaves de API (como las de Stripe o OpenAI) o la SECRET_KEY escritas directamente en el código de tu proyecto.

Si subes tu código a un repositorio público como GitHub por error, o si alguien consigue acceso no autorizado a tus archivos de programación, tus credenciales quedarán completamente expuestas.

La solución profesional para proteger estos datos sensibles es utilizar variables de entorno a través de un archivo secreto llamado .env. En este artículo te explicamos qué es, por qué es tan seguro y cómo configurarlo paso a paso en tu hosting cPanel.

¿Qué es un archivo .env?

Un archivo .env (leído como punto env) es un archivo de texto plano sumamente sencillo que se almacena en la raíz de tu proyecto. En él se guardan todas tus configuraciones secretas en formato de Clave = Valor, de la siguiente manera:

 
DEBUG=False
DB_PASSWORD=MiClaveSuperSecreta123!
STRIPE_API_KEY=sk_test_51Nx...

Cuando tu aplicación se ejecuta en el servidor, lee este archivo en la memoria del sistema de forma temporal. De esta manera, tu archivo principal de configuración (como el settings.py de Django) solo contiene nombres de variables genéricas, manteniendo los valores reales ocultos y a salvo.

Cómo configurar un archivo .env en cPanel para Python

Para implementar este sistema de seguridad en tu aplicación Python alojada en cPanel, sigue este procedimiento paso a paso:

1. Crea el archivo .env en tu servidor: Paso 1.

Inicia sesión en tu cPanel y abre el Administrador de Archivos.

Navega hasta la carpeta raíz donde se encuentra tu proyecto Python (recuerda que por seguridad esta carpeta debe estar fuera de public_html).

Haz clic en + Archivo (New File) en la esquina superior izquierda y asígnale el nombre exacto de .env (comenzando obligatoriamente con un punto).

2. Escribe tus variables secretas: Paso 2.

Haz clic derecho sobre el archivo .env recién creado y selecciona Edit (Editar).

Escribe aquí tus credenciales siguiendo el formato LLAVE=VALOR (sin espacios alrededor del signo igual). Guarda los cambios.

3. Instala la librería python-dotenv: Paso 3.

Para que tu código Python sea capaz de interpretar este archivo, necesitas una pequeña librería de ayuda.

Ve a la herramienta Setup Python App en cPanel, entra a editar tu aplicación y en la sección de paquetes escribe python-dotenv. Haz clic en Add (Añadir) y luego presiona Update (Actualizar) para instalarla dentro de tu entorno virtual.

4. Modifica tu código para cargar las variables: Paso 4.

Abre tu archivo principal de configuración (por ejemplo, settings.py en Django o app.py en Flask) y añade las siguientes líneas al principio del todo para indicarle al sistema que lea el archivo secreto:

 
import os
from dotenv import load_dotenv

# Esto busca el archivo .env en la misma carpeta y lo carga en memoria
load_dotenv()

# Ahora puedes llamar a tus variables ocultas de esta forma:
CONTRASENA_DB = os.getenv('DB_PASSWORD')

Método alternativo: Usar la interfaz gráfica de cPanel

Si prefieres no crear un archivo de texto en el servidor y prefieres gestionar tus variables directamente desde el panel de control, la herramienta de Python de cPanel cuenta con su propia sección integrada:

  1. Ve a Setup Python App en tu cPanel y haz clic en el icono de lápiz para editar tu aplicación web.

  2. Desplázate hasta el fondo de la pantalla y localiza la sección Environment variables (Variables de entorno).

  3. Haz clic en Add Variable (Añadir variable).

  4. En el campo Name escribe el nombre de la variable (ej. DB_PASSWORD) y en Value coloca el dato secreto.

  5. Haz clic en Done (Listo) y luego presiona Save en la parte superior para reiniciar la aplicación y aplicar los cambios.

Dos consejos de seguridad fundamentales

  • Añade el .env a tu archivo .gitignore: Si estás utilizando Git para controlar las versiones de tu proyecto, asegúrate de añadir una línea que diga .env dentro de tu archivo .gitignore. Esto evitará que subas el archivo confidencial a internet cuando realices un git push.

  • Mantén el archivo fuera de la zona pública: Al configurar tu aplicación en cPanel mediante Setup Python App, la carpeta raíz de tu aplicación queda alojada por defecto en el directorio /home/tu_usuario/tu_app/. Esto es excelente, ya que está completamente fuera del alcance de cualquier navegador web (el cual solo tiene acceso a public_html). Nunca muevas el archivo .env a la carpeta public_html.

 


¿Le ha resultado útil esta respuesta?

« Atrás