Hola, he programado una aplicación en python la cual quiero hacer un ejecutable y distribuirlo mediante mi página web. El problema es que para hacer esto debo proteger las credenciales de acceso a mi base datos mysql de tal manera que nadie pueda verlas. He intentado varias formas de hacerlo, pero ninguna es segura. La primera forma que intenté fue usando variables de entorno (.env) para evitar poner las credenciales directamente en el código, pero sí hago el ejecutable y no incluyo el archivo (.env), la app no funciona ya que no se puede conectar a la base de datos. La segunda forma fue incriptando las credenciales, pero igualmente si no incluyo los archivos incriptados en el ejecutable la app no funciona. En fin, como quiera que lo haga los usuarios al tener el ejecutable, tiene acceso al archivo donde están credenciales. ¿Qué puedo hacer?
Hola @rogerplus ! No conectes el app directamente con la base de datos, usa un backend como intermediario. Por ejemplo, mediante una API (Tal vez FastAPI pueda serte de ayuda). De este modo solo habrá una app que guarde las credenciales, el servidor donde estés levantado el backend.
Un saludo
Mil gracias @andro. Lo que hice fue guardar las credenciales en una app flask dentro del VPS, de tal manera que la app del lado del cliente llama a la app flask y esta a su vez consulta la base de datos y retorna una respuesta a la app del lado del cliente. Un cordial saludo.
1 me gusta