You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找Back4App中发起API调用的来源以限制Google Maps API密钥?

解决Back4App云代码调用Google Maps API的密钥限制与账单问题

一、修正API密钥限制方式(解决调用被拒)

你是在Back4App云代码(服务器端)调用Google Maps API,而非前端浏览器,所以用HTTP Referrer(网址白名单)限制完全无效——服务器端请求不会携带浏览器的Referrer头。正确的限制方式是IP地址限制,按以下步骤操作:

  • 获取Back4App云代码的出口IP
    在你的Back4App云代码里加一段临时代码,调用第三方IP查询服务拿到出口IP,示例代码(Node.js环境):
    const axios = require('axios');
    Parse.Cloud.define('getOutboundIP', async () => {
      const response = await axios.get('http://icanhazip.com');
      const ip = response.data.trim();
      console.log('Back4App云代码出口IP:', ip);
      return ip;
    });
    
    部署后调用这个云函数,多调用几次确认所有可能的出口IP(可能不止一个)。
  • 在Google API控制台设置IP限制
    打开Google Cloud控制台的API密钥管理页面,找到你的Maps API密钥,把限制类型改成「IP地址(服务器端)」,将获取到的Back4App出口IP全部添加到允许列表,保存设置即可。

二、排查200美元意外账单

出现非预期的高额账单,基本是API密钥被盗用或存在未授权调用,按以下步骤排查:

  • 查看Google Cloud的API调用日志
    进入Google Cloud控制台的「API和服务」→「仪表板」,找到对应的Maps API(比如地理编码API、JavaScript地图API等),点击「查看日志」,筛选调用记录:
    • 检查调用来源的IP,看有没有非Back4App出口IP的异常调用;
    • 查看请求参数,判断是否有大量重复或异常请求(比如批量地理编码、高频静态地图生成);
  • 检查密钥泄露风险
    • 确认Back4App云代码里的API密钥有没有硬编码后意外提交到公开代码仓库(比如GitHub);
    • 检查是否在前端代码里用了同一个密钥——前端密钥很容易被爬虫扒走,如果是,给前端和服务器端分别创建不同密钥:前端用Referrer限制,服务器端用IP限制;
  • 启用API用量警报
    在Google Cloud控制台设置API用量阈值警报,当调用量或费用接近预算时,及时收到通知,避免再出现突发高额账单。

内容的提问来源于stack exchange,提问作者Procode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:10:05