its*_*iva 6 security api google-maps api-key
我正在编写一个使用第三方 API 服务的应用程序(例如 Google 地图、分段分析等...)。所有这些应用程序都会提供一个应该嵌入 JS 代码中的 API 密钥。
因此任何可以检查源的人都知道客户端密钥。这些服务如何防止该密钥的错误使用。假设有人用我的密钥调用这些 API 的次数达到了每日允许的最大 API 调用限制,这将使进一步的实际 API 调用失败。
我知道 Referrer Header 可以用来检查请求来源,但是 Referrer Header 很容易被精明的用户欺骗。
不知道服务方面有没有采取什么措施。看起来是一个非常大的问题。
提前致谢。
这是有风险的,但如果 API 提供商做好了准备,风险并没有看起来那么糟糕。
首先要注意的是,这样的 API 密钥不用于身份验证,因为它不会对调用者(应用程序和最终用户)进行身份验证。它仅用于速率限制和跟踪之类的事情。
因此,真正的威胁与您所描述的类似,例如有人使用您的 API 密钥并耗尽您的配额。但是,如果该人从自己的计算机或网络执行此操作,则所有恶意流量都会从他的 IP 或 IP 范围内看到。如果 API 提供商很聪明并且具有良好的监控(例如 Google),他们不会撤销/禁用您的 API 密钥,而只会过滤或忽略恶意流量。
因此,攻击者应该能够使用您的 API 密钥建立一个网站并让用户访问它。但是,在这种情况下,引用/原始标头无法被欺骗,浏览器通常不会允许 Javascript 更改请求中的引用或原始标头。同样,API 提供商有一种方法可以根据引用/来源过滤恶意流量。
攻击者需要访问许多不同的客户端,例如僵尸网络,才能使用您的 API 密钥发出所有这些请求,以耗尽您的配额。这可能会起作用,但如果攻击者可以通过分布式拒绝服务来攻击您的站点,那么您主要关心的可能不是您的 API 密钥。
归档时间: |
|
查看次数: |
955 次 |
最近记录: |