谷歌API密钥放在哪里
我在GoogleMaps中制作了一个样式化的地图,我需要一个API键来让它工作。我做到了,如果API键不受限制,它就可以正常工作。如果我把它限制在一个特定的IP或域上,它是不起作用的,但这不是我想在这里讨论的问题。我在想,为什么不让我的钥匙不受限制呢?所以我在网上搜索,出于安全原因,密钥不应该不受限制,所以他们建议 将它们存储在环境变量或应用程序源代码树之外的文件中 然后我问自己,即使我把API密钥放在一个外部文件中,用php或其他什么工具获取,它不会显示在html的源代码中吗?我的意思是,在页面上他们说要写这个代码谷歌API密钥放在哪里,api,google-maps,Api,Google Maps,我在GoogleMaps中制作了一个样式化的地图,我需要一个API键来让它工作。我做到了,如果API键不受限制,它就可以正常工作。如果我把它限制在一个特定的IP或域上,它是不起作用的,但这不是我想在这里讨论的问题。我在想,为什么不让我的钥匙不受限制呢?所以我在网上搜索,出于安全原因,密钥不应该不受限制,所以他们建议 将它们存储在环境变量或应用程序源代码树之外的文件中 然后我问自己,即使我把API密钥放在一个外部文件中,用php或其他什么工具获取,它不会显示在html的源代码中吗?我的意思是,在页
这很好,但无论我如何设置YOUR_API_键,无论是否从外部文件获取,它都将显示在我的html源代码中。
所以
- 有人知道他们说把API密钥放在外部文件上是什么意思吗
- 如果我想办法把它放在一个外部文件上,我能不受限制地保存它吗?如果是这样,会发生什么(从安全角度讲)
- 让API完全不受限制是一种糟糕的做法,几乎在任何情况下都应该避免。有恶意意图的人需要做的就是找到你的API密钥,然后突然他们就可以访问API密钥让你访问的几乎所有功能。始终将关键点限制为最小值
由于您将要将映射嵌入到iframe中,因此该脚本将在客户端运行,这意味着在隐藏API键时没有太多内容,但是如果您将键限制为仅查看映射(以及用户端需要的任何其他函数)不需要隐藏它,您可以按照文档显示的那样将其留在那里
您阅读的关于API安全性最佳实践的文档更适用于Google API的应用程序,在这些应用程序中,API正在处理敏感数据,或者密钥可以访问可能严重危害应用程序安全性的函数。这不适用于您使用“地图”描述的场景
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">