当前位置: 首页 > 面试题库 >

如何安全使用Google API密钥

相云
2023-03-14
问题内容

因此,我正在执行的第一个项目中使用Google Maps
API。是的,我是新手,如果这是基础知识或显而易见的事情,我感到抱歉,但是我找不到明确的答案或方向。以下是我从Google找到的有关安全使用API​​密钥的文档。

安全使用API​​密钥的最佳做法

在应用程序中使用API​​密钥时,请注意确保其安全。公开暴露您的凭据可能会导致您的帐户遭到盗用,这可能会导致您的帐户发生意外费用。为了确保您的API密钥安全,请遵循以下最佳做法:

不要将API密钥直接嵌入代码中:嵌入在代码中的API密钥可能会意外地向公众公开-
例如,如果您忘记从共享代码中删除密钥。不要将API密钥嵌入到应用程序中,而是将它们存储在环境变量或应用程序源代码树之外的文件中。不要将API密钥存储在应用程序源代码树中的文件中:如果将API密钥存储在文件中,请将文件保留在应用程序源代码树之外,以帮助确保密钥不会最终出现在源代码控制系统中。如果您使用公共源代码管理系统(例如GitHub),则这一点尤其重要。限制您的API密钥仅由IP地址,引荐来源网址以及需要它们的移动应用使用:通过限制IP地址,引荐来源网址,以及可以使用每个密钥的移动应用程序,则可以减少泄露的API密钥的影响。您可以通过打开“凭据”页面,然后使用所需的设置创建新的API密钥,或编辑API密钥的设置,来指定可从控制台使用每个密钥的主机和应用程序。删除不需要的API密钥:为了最大程度地减少遭受攻击的风险,请删除不再需要的所有API密钥。定期重新生成API密钥:通过单击每个密钥的重新生成密钥,可以从Cloud
Platform控制台凭据页面重新生成API密钥。然后,更新您的应用程序以使用新生成的密钥。生成替换密钥后,您的旧密钥将继续工作24小时。在公开发布代码之前,请先对其进行检查:

现在我的问题是,如果不直接将其放入代码中,便无法弄清楚如何将Google Map整合到我的网站中。现在,我的API像这样在我的index.html中:

<script async defer
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>

但这又直接在我的代码中供全世界使用,我认为这是错误的方法。


问题答案:

对于Google Maps Javascript API v3,密钥 必须 在您的页面上公开。适用的文本是:

限制您的API密钥仅由 需要它们 IP地址, 引荐来源网址 和移动应用 使用

转到Google API控制台并生成一个密钥,将其限制为您拥有(或想放置地图)的URL,以防止配额“被盗”。



 类似资料:
  • 所以我在我做的第一个项目上使用谷歌地图应用编程接口...所以是的,我是新来的,如果这是基本的或显而易见的,我很抱歉,但是我还没有找到一个明确的答案或方向。下面是我从谷歌找到的关于安全使用API密钥的留档。 安全使用API密钥的最佳实践 在应用程序中使用API密钥时,请注意确保它们的安全。公开披露您的凭据可能会导致您的帐户被泄露,这可能会导致您的帐户发生意外费用。要确保API密钥的安全,请遵循以下最

  • 我在工作中被要求保护保存在Mysql数据库中的敏感数据。这个数据库包含几个表,其中一个表中的关键数据只能使用Django中的API来访问。对于这个API,只有一定数量的人可以访问它,因此他们将是唯一能够访问这个表中的数据的人。 因此,目前的问题是每个人都可以访问数据库和该表,因此我们决定使用AES在AES_ENCRYPT()和AES_DECRYPT()函数的帮助下加密该表中的所有数据(根据http

  • 我在工作场所使用Git,公司政策不允许我以不安全的方式存储密码。有没有比使用

  • 我正在尝试将openapi/swagger文件导入api网关,但无法按预期获得安全设置。我希望所有路径都需要一个api密钥。 导入后在控制台中设置它所需的api密钥是可行的,但这种解决方案是不可取的,同样可行的是在每个路径中单独设置安全字段,但我正在寻找全局解决方案。 当我尝试导入文件时,我会收到以下警告: 看起来,我要么需要一个lambda作为api密钥的自定义授权器(我不熟悉授权器,但如果我在

  • 问题内容: 我有一个Java属性对象,其中包含Web服务的身份验证信息。我需要对这些数据进行加密,但是我不知道该将加密密钥存储在何处才能保持安全。 关于加密和以安全方式检索数据的最佳实践是什么? 使用密钥库有什么好处吗? 问题答案: 您的问题很普遍。在Linux中,用户密码存储在纯文本文件中。尽管只存储了密码哈希,但是如果攻击者可以访问该文件,则使用脱机词典攻击可以很快发现一些密码。在这种情况下,

  • 在flutter应用程序中存储key.jks文件对于flutter应用程序发布是安全的吗? 存储库密码、keyPassword、keyAlias 我的key.properties文件: