Consulta rapida sobre environment variables y su encriptacion por seguridad
0 vistas14 respuestashace 6 mesesegutierrez
Buenas siguiendo el trabajo me encuentro que para acceder a API externas ( en mi caso OpenAi o ollama) normalmente se necesita API_KEY.
Decido guardar en variables de entorno en fichero .env segun https://vitejs.dev/guide/env-and-mode
Ya se que no es seguro guardar esta informacion en cliente, pero no se como podria gestionarlo de una forma mejor.
Lo que no encuentro es porque este fichero no se encripta la informacion en vez de guardar en texto plano. Esto lo haria muchisimo mas seguro.
En php recuerdo que habia alguna funcion que pasabas un string y una codificacion ejemplo sha o la que quisieras y te devolvia el texto encriptado, y despues podias hacer la inversa....
Alguien tiene una solucion similar ? O como ha resuelto el tema API ?¿
Gracias
1019880602582917160
1019880552062521445
14 respuestas
Directamente no es posible, puedes usar base64 para codificar las variables de entorno o alguna librería para hacer lo que comentas, pero al estar del lado del frontend se va a poder leer el código y descifrarlo, puedes aprovechar para usar el ssr de vite para crear un endpoint para hacer las llamadas a la api desde el servidor https://vitejs.dev/guide/ssr.html
erikgiovanihace 6 meses
Bueno gracias
egutierrezhace 6 meses
una solucion que he encontrado sencilla es que el env lo he quitado del git
egutierrezhace 6 meses
y al hacer deploy con Vercel te pide las variables de entorno
egutierrezhace 6 meses
en uno de los pasos para hacer deploy desde github te pide apikeys o copiar fichero .env
egutierrezhace 6 meses
y supongo que con vercel estaran protegidas jajaj
egutierrezhace 6 meses
No, en la llamada a la api en las dev tool se va a poder leer desde cualquier navegador
erikgiovanihace 6 meses
Vercel no las protege ??
egutierrezhace 6 meses
Solo del lado del backend, del lado del frontend no
erikgiovanihace 6 meses
las ha puesto aparte eh ya te digo
egutierrezhace 6 meses
Algo que puedes hacer en algunas apis es configurar una ip o url para para que solo se puedan hacer peticiones desde esa ip o url, así aun que te roben el api key no podrán usarla
erikgiovanihace 6 meses
Si tambien me han dicho de instalar express en el proyecto y hacer una api sencilla que devuelva la api key....
egutierrezhace 6 meses
supongo que es similar a lo que me has comentado de vite