gpt4 book ai didi

web-services - Google map 如何保护其 API key ?如何制作类似的东西?

转载 作者:行者123 更新时间:2023-12-03 05:20:47 28 4
gpt4 key购买 nike

目前,Google 要求您创建一个特定于提供 map 的域的 API key 。谷歌如何强制执行这一点?我也想做同样的事情。

我为我的服务公开了一个 API,但希望允许客户端通过 JavaScript 而不仅仅是从服务器嵌入对 API 的调用。我可以仅使用随机 token 来保护它,但当然,任何查看客户端计算机上代码的人都可以轻松欺骗它。

我一直认为这个概念是不可能的,但不知何故,Google 在执行它方面做得很好。

编辑 - 听起来 Google 确实没有做过任何令人惊奇的事情。他们的 API 很可能只是用于跟踪,而不是真正保证拥有 key 的人使用他们的 API。

最佳答案

API key 本身很可能是与 key 关联的域的单向哈希,并且是只有 Google API 服务器知道的 secret 。它可能包含一些其他众所周知的(当然是谷歌)信息。当您从该域发出请求时,API 服务器会获取请求来自的域并进行相同的单向哈希计算并比较两个值。

对于 Ajax 调用,他们很可能使用引用者来获取文档主机的域。虽然引荐来源网址可能会被欺骗,但最终为了使用 API,您需要获取 Google javascript 在文档中执行。此时,该 javascript 可以验证调用 Ajax API 调用的文档确实源自目标服务器。当然,如果您有自己的 DOM 实现或动态修改脚本,这也是可以欺骗的。不过,这种欺骗需要在客户端进行,想要使用 Google API 的网站能够欺骗客户端软件的机会非常小。

请注意,由于 API 本质上是免费的,因此他们也可以提供对其 API 的匿名访问。显然,谷歌的目的不是保护未经授权的访问,而是确保他们可以收集尽可能多的有关该数据使用情况的数据,并能够将该使用情况与他们收集的有关目标域的其他数据相关联。因此,我预计 API key 验证不会比我上面描述的复杂得多 - 更高级方法的投资返回率太低。

当然,还有可能通过其 API 进行 XSS 攻击的担忧。但我不认为他们的 API key 与他们拥有的任何反 XSS 代码有太多的联系。

关于web-services - Google map 如何保护其 API key ?如何制作类似的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256305/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com