Problemi di sicurezza relativi alla chiave API nel sito web

1

Voglio creare un sito web di previsione meteo e ho intenzione di fare richieste AJAX all'API openweathermap per caricare i dati meteorologici.

Tuttavia, non sono sicuro su come utilizzare correttamente la chiave API. Stavo per includere la chiave in uno script JS, ma sono preoccupato che la chiave possa essere "rubata" sia da GitHub che dal sorgente HTML.

AFAIK la chiave può essere utilizzata solo per fare richieste di dati meteorologici, ma potrebbe comunque essere utilizzata per fare un numero eccessivo di richieste.

Includere la chiave nel file html sarebbe una cattiva pratica? Se sì, come dovrei implementarlo correttamente?

    
posta Sebastian Hietsch 08.03.2018 - 22:10
fonte

2 risposte

1

Proietta la richiesta attraverso il tuo server di backend mantenendo la chiave API protetta nella configurazione sul tuo server. Aggiungi COR e configuralo in modo che l'API possa essere richiamata dal tuo sito solo nel browser.

Una chiave API è considerata un segreto e i segreti non dovrebbero mai essere codificati in un client poiché è banale estrarli

    
risposta data 08.03.2018 - 22:47
fonte
1

Se il tuo sito web ha un back-end , puoi creare un endpoint nel tuo back-end che attiva una richiesta di OpenWeatherMap. In questo modo puoi archiviare la chiave in modo sicuro sul tuo server e il cliente non ne ha mai bisogno.

Se il tuo sito web non ha un back-end , dovrai dare al cliente la tua chiave ad un certo punto in modo che possa effettuare la richiesta. Non importa come lo passi al client, perché a un certo punto dovrà essere inviato a OpenWeatherMap dal client.

    
risposta data 08.03.2018 - 22:39
fonte

Leggi altre domande sui tag