javascript - 使用 google maps js API 时是否需要隐藏 API key ?如果是这样,如何?

标签 javascript html google-maps google-maps-api-3

根据 https://developers.google.com/maps/documentation/javascript/tutorial#HTML5 , 看来我可以将以下标记添加到我的 html 并开始使用 maps js API。

<script async defer
      src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>

但这会泄露我的 API key 。

在google上搜索和stackoverflow上的浏览答案后,我觉得也许没有必要隐藏这个API key 。当我在谷歌上创建 API key 时,我只需要设置 referer,如中所述 https://stackoverflow.com/a/2256312/1316649

因此,即使其他人知道我的 API key ,他们也无法从其他域使用它。我说得对吗?

但是谷歌说你不应该在代码中嵌入 API key : https://support.google.com/cloud/answer/6310037

那么,在使用 google maps js API 时是否需要隐藏 API key ?如果是,怎么办?

更新:“API key ”是指浏览器 API key 。

最佳答案

您可以创建多个具有不同限制的 API key 以安全地使用它们。对于嵌入 map ,Google map 文档提供了创建正确限制的 API key 的说明,以便它不会被滥用于其他目的,网址为 Get an API Key - Restricting API keys。 .可以在您的源代码中包含一个受限的 API key ,因为无论如何您都无法正确嵌入 map 。

如果您需要服务器端 API 访问权限,您可以创建限制较少的第二个 API key 。那个应该保密。

关于javascript - 使用 google maps js API 时是否需要隐藏 API key ?如果是这样,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38153734/

相关文章:

javascript - 添加书签此页按钮 - 2016

javascript - 解码 JavaScript 字符串中的 HTML 字符引用

javascript - 如何将 GET 参数分配给 HTML 输入文本的值属性?

javascript - 有什么办法可以用当前的 IE9 beta CSS 做文本阴影吗?

javascript - 从服务器路径检索图像

google-maps - Google Places API 结果与 Google map 不匹配

javascript - Google map 嵌入 + 搜索框

android - 如何为我的 Android 应用程序获取 Google Places API key

javascript - 我的递归代码有什么问题?

Javascript:如何对正态分布图的数组进行排序?