Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌API密钥放在哪里_Api_Google Maps - Fatal编程技术网

谷歌API密钥放在哪里

谷歌API密钥放在哪里,api,google-maps,Api,Google Maps,我在GoogleMaps中制作了一个样式化的地图,我需要一个API键来让它工作。我做到了,如果API键不受限制,它就可以正常工作。如果我把它限制在一个特定的IP或域上,它是不起作用的,但这不是我想在这里讨论的问题。我在想,为什么不让我的钥匙不受限制呢?所以我在网上搜索,出于安全原因,密钥不应该不受限制,所以他们建议 将它们存储在环境变量或应用程序源代码树之外的文件中 然后我问自己,即使我把API密钥放在一个外部文件中,用php或其他什么工具获取,它不会显示在html的源代码中吗?我的意思是,在页

我在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">