google-maps - 如何在github页面的公共(public)存储库中安全地存储谷歌地图api key ?

标签 google-maps jekyll github-pages api-key

我找到了不错的 jekyll 模板:
https://github.com/volny/stylish-portfolio-jekyll

它试图呈现一个谷歌地图,它需要谷歌地图 api key ,它希望存储在 _config.yml 中。 :

# API settings
google_api_key:

这似乎不是存储 key 的最安全方法,因为任何人都可以看到并使用它。
如何在github页面的公共(public)存储库中安全地存储谷歌地图api key ?

最佳答案

简短的回答是:你不能 .

根据设计,Google Maps Embed API 希望您在请求 map 的 URL 中包含 API key (正如您可以观察到的 source code of the template your mentioned)

这意味着您的 API key 将始终在浏览器呈现的结果 HTML 文件中可见。

只有 Google 可以尝试阻止其他人使用您的 API key (例如,通过检查提供 map 的站点的 URL)。你无能为力。

enter image description here

Google 所能做的就是让某人更难重用 API key 。他们无法真正以可靠的方式阻止它。这只是网络工作方式的本质。访问您网站的人将是请求 map 的人 - 例如,您不能限制谁可以调用 API 的 IP 地址,除非您确切知道这些用户是谁(如果您的网站是公共(public)网站,这是您的情况)。

关于google-maps - 如何在github页面的公共(public)存储库中安全地存储谷歌地图api key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42753225/

相关文章:

Jekyll Github Action 停止工作,现在失败并显示错误消息 : "Cannot publish on branch master"

reactjs - gh-pages 脚本无法将 .nojekyll 提交到 GitHub

Github Pages主页删除顶部链接

css - 响应式 Google Maps v3 - 无法获得 100% 的高度

javascript - 当光标悬停在 Google map 折线上时,如何将光标从手更改为手

jekyll - 如何关闭 Jekyll 中的智能引号?

jekyll - GitHub 页面 : Octopress in Subfolder (other pages in root)

git 分支 : gh-pages

regex - 我如何使用express在Nodejs中创建像API这样的谷歌地方

javascript - 谷歌地图 vs jquery;在 jsfiddle 中工作,在服务器上停止工作