Problemas de seguridad relacionados con la clave API en el sitio web

1

Quiero crear un sitio web con previsión meteorológica y tenía previsto realizar solicitudes AJAX a la API openweathermap para cargar los datos meteorológicos.

Sin embargo, no estoy seguro de cómo usar correctamente la clave API. Iba a incluir la clave en un script JS, pero me preocupa que la clave pueda ser "robada" ya sea de GitHub o de la fuente html.

AFAIK, la clave solo se puede utilizar para realizar solicitudes de datos meteorológicos, pero aún así se podría abusar para realizar un número excesivo de solicitudes.

¿Sería una mala práctica incluir la clave en el archivo html? Si es así, ¿cómo lo implementaría correctamente?

    
pregunta Sebastian Hietsch 08.03.2018 - 22:10
fuente

2 respuestas

1

Proxy la solicitud a través de su servidor back-end manteniendo la clave API segura almacenada en la configuración de su servidor. Agregue CORs y configúrelos para que la API solo pueda llamarse desde su sitio en el navegador también.

Una clave de API se considera un secreto y los secretos nunca deben codificarse de forma rígida en un cliente como trivial para extraerlos

    
respondido por el McMatty 08.03.2018 - 22:47
fuente
1

Si su sitio web tiene un backend , puede crear un punto final en su propio backend que active una solicitud para OpenWeatherMap. De esa manera, puede almacenar la clave de forma segura en su propio servidor y las necesidades del cliente nunca deben saberlo.

Si su sitio web no tiene un backend , tendrá que entregarle al cliente su clave en algún momento para que pueda realizar la solicitud. Realmente no importa cómo se lo pase al cliente, porque en algún momento deberá enviarse a OpenWeatherMap desde el cliente.

    
respondido por el JonRB 08.03.2018 - 22:39
fuente

Lea otras preguntas en las etiquetas