如何在github页面的公共回购中安全地存储谷歌地图api密钥?

Mar*_*och 1 google-maps api-key jekyll github-pages

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

它试图呈现一个谷歌地图,它需要谷歌地图API密钥,它希望存储在_config.yml:

# API settings
google_api_key:
Run Code Online (Sandbox Code Playgroud)

它似乎不是最安全的方式来存储密钥,因为任何人都可以看到它并使用它.如何在github页面的公共回购中安全地存储谷歌地图api密钥?

Cai*_*ete 6

简短的回答是:你做不到.

根据设计,Google Maps Embed API要求您在请求地图的网址中包含API密钥(正如您可以观察到您提到的模板源代码)

这意味着您的API密钥将始终在浏览器中呈现的生成的HTML文件中可见.

只有Google可以尝试阻止其他人使用您的API密钥(例如,通过检查所投放地图的网站的网址).你无能为力.

在此输入图像描述

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