J'ai obtenu une clé API Google Maps pour mon domaine.
Les exemples fournis lorsque j'ai obtenu ma clé montrent la clé intégrée dans les paramètres de la requête, par exemple:
<script src="http://maps.google.com/maps?file=api&v=2&sensor=true_or_false&key=my-key" type="text/javascript"></script>
J'apprécie que le champ référent dans les demandes doit correspondre à mon domaine, est-il sûr de rendre ma clé visible dans les balises de script et autres? Ou dois-je prendre d'autres mesures?
la source
Il existe un paramètre sur la console API Google qui peut empêcher l'utilisation de la bande passante de votre API par un autre domaine / utilisateur. Vous pouvez restreindre et protéger cela en utilisant le référent sur la console API. La clé API rejettera les demandes sans référents correspondant à vos restrictions.
Voici une capture d'écran de Google pour la clé API qui ne peut être utilisée que par Google dans ses deux domaines.
la source
Bien que cette question remonte à quelques années, elle est très bonne. Si je comprends bien, exposer les clés API, même si elles correspondent à un domaine, pourrait toujours entraîner des abus. Il y a un article sur Security Stack Exchange ici qui couvre cela plus en détail.
Les mesures que vous pouvez prendre pour éviter les abus potentiels ont été publiées par Google ici:
Guide des meilleures pratiques pour une utilisation sécurisée des API: https://support.google.com/cloud/answer/6310037?hl=fr
Bien que je recommande de prendre tout cela à bord, il existe une approche qui traiterait de l'exemple spécifique qui a été publié par Brabster et qui consiste à stocker la clé dans une variable d'environnement . De cette façon, tout ce que vous avez à faire est de remplacer la clé par une variable côté serveur qui est stockée dans votre projet. Cependant, veillez à ne pas valider le fichier qui stocke la clé dans un référentiel public.
la source
Vous devez utiliser le côté back-end / serveur pour protéger et gérer la clé. Dans mon cas, j'ai utilisé Django f / w côté serveur qui peut servir un appel ajax pour obtenir la clé du script serveur / db puis la transmettre à google api.
la source