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:
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:
-
Ve a Setup Python App en tu cPanel y haz clic en el icono de lápiz para editar tu aplicación web.
-
Desplázate hasta el fondo de la pantalla y localiza la sección Environment variables (Variables de entorno).
-
Haz clic en Add Variable (Añadir variable).
-
En el campo Name escribe el nombre de la variable (ej.
DB_PASSWORD) y en Value coloca el dato secreto. -
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
.envdentro de tu archivo.gitignore. Esto evitará que subas el archivo confidencial a internet cuando realices ungit 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 apublic_html). Nunca muevas el archivo.enva la carpetapublic_html.