Ai-je besoin de cacher la clé API lors de l'utilisation de google maps API js? Si oui, comment?
Selon https://developers.google.com/maps/documentation/javascript/tutorial#HTML5 ,
il semble que je peux ajouter la balise suivante à mon code html et de commencer à l'aide de cartes API js.
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
Mais cela permet de révéler ma clé API.
Après une recherche sur google et la navigation des réponses sur stackoverflow, je pense que peut-être il n'est pas nécessaire de cacher cette clé API. J'ai juste besoin de mettre le referer quand j'ai créer la clé API sur google, comme expliqué dans
https://stackoverflow.com/a/2256312/1316649
Donc, même les autres savent ma clé API, ils ne peuvent pas l'utiliser à partir d'un autre domaine. Suis-je le droit?
Mais google dit qu'il ne faut pas incorporer de la clé API dans le code:
https://support.google.com/cloud/answer/6310037
Donc, ai-je besoin de cacher la clé API lors de l'utilisation de google maps API js? Si oui, comment?
Mise à jour: Par "API key", je voulais dire navigateur clé API.
Je pense que la prise en charge du cloud réponse est un fourre-tout sur la sécurité pour une variété de services Google, utilisez les touches. Depuis votre clé de Cartes est liée à votre nom de domaine, vous n'avez pas besoin de s'inquiéter à ce sujet (et ne pouvez pas faire quelque chose de toute façon)
OriginalL'auteur fstang | 2016-07-01
Vous devez vous connecter pour publier un commentaire.
Il existe plusieurs types de clés API Google Maps. Il y a navigateur touches, qui sont utilisées lors de l'incorporation du côté client, les bibliothèques, et que c'est OK pour révéler aux hommes (vous besoin de l'utiliser sur le côté client de sorte que vous ne pouvez pas éviter que de toute façon). Ensuite, il y a côté serveur, les clés, qui sont utilisés pour des choses comme les services de géocodage. Ceux-ci sont censés être gardé secret.
Juste assurez-vous que vous utilisez un navigateur clé.
Il y a une API de géolocalisation par javascript. Elle suppose d'être caché comme il est de staten dans le tutoriel, j'ai donc fait une fonction seulement de voler silencieusement, mais c'est toujours le même clé! Les informations sur ces touches ne sont pas claires dans Google Dev, merci pour la clarification!
OriginalL'auteur Matti Virkkunen
Le lien que vous avez posté que dit qu'il ne faut pas incorporer les clés API dans le code est lié à Google Cloud Platform. Vous pouvez laisser votre clé API pour Google Maps dans votre code.
OriginalL'auteur Chester Millisock
Je conseille de restreindre votre clef API pour être utilisé uniquement par les adresses IP & Url d'affilié qui en ont besoin: En limitant les adresses IP, les Url d'affilié, vous pouvez réduire l'impact d'un compromis de la clé API.
Vous pouvez spécifier les hôtes et les applications qui peuvent utiliser chaque touche de la console par l'ouverture de la page informations d'Identification, puis la création d'une nouvelle clé de l'API avec les paramètres que vous voulez, ou de modifier les paramètres d'une clé API.
Cela devrait vous aider à sécuriser vos clés API.
Jeff
OriginalL'auteur Jeffrey
Alors que les réponses ci-dessus sont utiles, aucun d'entre eux aborde le problème suivant:
Une fois qu'un utilisateur a accès à votre clé API, même si elles sont limitées à l'aide de votre domaine, ils peuvent toujours l'utiliser comme ils veulent. Dans la plus grossière sens, cela pourrait signifier un million de page mises à jour (et de la carte des charges) dans une très petite quantité de temps, par conséquent, vous mettant au-dessus de votre quota d'utilisation.
Je n'ai pas trouvé de solutions à ce problème. À moins que je me manque quelque chose...?
Pertinentes des limites d'utilisation de google maps javascript api ici.
Je suis upvoting parce que j'étais à la recherche pour les postes qui ont parlé du problème des utilisateurs malveillants avoir épuisé le quota, mais je ne pense pas que ce vraiment tente de répondre à la question.
OriginalL'auteur Murcielago