所以我在我做的第一个项目中使用了Google .所以,是的,我是新来的,我很抱歉,如果这是基本的或明显的,但我还没有找到一个明确的答案或方向。下面是我从Google找到的关于安全使用API密钥的文档。
安全使用API密钥的最佳实践
当您在应用程序中使用API密钥时,请注意确保它们的安全。公开您的凭据可能会导致您的帐户被破坏,这可能导致您的帐户上的意外费用。为了确保API密钥的安全,请遵循以下最佳实践:
不要将API密钥直接嵌入到代码中:嵌入在代码中的API密钥可能会意外地向公众公开--例如,如果您忘记从共享代码中删除密钥。与其在应用程序中嵌入API键,不如将它们存储在环境变量或应用程序源树之外的文件中。不要将API密钥存储在应用程序源代码树内的文件中:如果将API密钥存储在文件中,请将这些文件保存在应用程序的源代码树之外,以帮助确保您的密钥不会在源代码控制系统中结束。如果使用公共源代码管理系统(如GitHub ),这一点尤为重要。限制您的API密钥仅供需要它们的IP地址、引用者URL和移动应用程序使用:通过限制可以使用每个密钥的IP地址、引用者URL和移动应用程序,可以减少受损API密钥的影响。您可以通过打开凭据页指定可以使用控制台中每个键的主机和应用程序,然后使用所需的设置创建一个新的API键,或者编辑API键的设置。删除不需要的API密钥:为了尽量减少受到攻击的风险,请删除不再需要的任何API密钥。定期重新生成您的API键:您可以通过单击每个键的重新生成键,从凭据页面重新生成API密钥。然后,更新应用程序以使用新生成的密钥。在生成替换密钥后,您的旧密钥将继续工作24小时。在公开发布代码之前检查代码:在使代码公开可用之前,确保代码不包含API密钥或任何其他私有信息。
现在我的问题是,如果不直接把谷歌地图放在代码中,我就想不出如何将谷歌地图合并到我的网站上。现在,我的API在我的index.html中是这样的:
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
但同样,这是我的代码,让世界看到,我认为是错误的方式。
发布于 2016-09-21 20:24:48
对于v3,键必须在您的页面上公开。适用的案文是:
将API密钥限制为仅供 IP地址、引用者URLs和需要它们的移动应用程序使用。
转到Google控制台并生成一个键,将其限制为您拥有的URL(或希望将地图放在上面),以防止配额“盗用”。
发布于 2016-09-21 20:57:47
您所指的API关键最佳实践文章只提供了使用API键的通用指南,对于某些面向最终用户的API,例如Google API,您无法避免向最终用户公开API密钥。
因此,在公共地图JavaScript API应用程序中,强烈建议对生产系统中使用的任何密钥,特别是面向公共的密钥添加引用限制,并且只授权应用程序的域、主机甚至完整文件URL。
在Google控制台中创建密钥并为Maps JavaScript API选择设置凭据时,向导将指导您如何保护密钥,并提示您输入您希望授权的URL。
https://stackoverflow.com/questions/39625587
复制相似问题