firebase - 如何限制 Firebase HTTP/Callable 函数请求大小?

标签 firebase google-cloud-functions

我们可以限制来自客户端的 HTTP/Callable 函数请求大小吗?我知道我们可以在请求到达后使用该函数检查请求,但为时已晚,因为我们需要先下载不需要的请求以验证它。

我想知道是否有办法防止恶意用户使用大小为 10 MB 的请求泛滥函数。首先我认为一旦检测到无效请求我就可以阻止用户,但我可以看到现在即使用户被阻止,也没有什么可以阻止用户调用该函数。我当然可以阻止该用户访问后端功能,但请求仍然是从客户端发送的,恐怕这可能会影响配额和我们的账单。

最佳答案

您的问题确实没有优雅的解决方案。任何具有公共(public)端点的服务都会遭受相同类型的攻击,甚至更多。您需要将端点放在负载均衡器、CDN 后面,并使用 Web 应用程序防火墙 (Cloud Armor) 实现攻击管理。

  1. 入站数据传输是免费的,因此这有助于降低成本部分。

  2. 除非必要,否则不要发布 HTTP 可调用函数。从您的其他服务调用这些函数。这会启用负载平衡器、缓存和防火墙。

  3. 在 Apigee 后面部署您的函数。

  4. 使用 Cloud Armor 等服务在您的设计中实现智能以检测攻击和阻止访问。简单的逻辑将检测大量有效负载,然后在防火墙中阻止违规 IP 地址。但是,这需要 #2。

关于firebase - 如何限制 Firebase HTTP/Callable 函数请求大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54681115/

相关文章:

ios - 使用 Swift 遍历 Firebase 中的嵌套快照子项

android - 当用户使用 firebase 单击按钮时向其他用户发送通知

android - MyFirebaseMessagingService.onMessageReceived() 不起作用

Firebase 存储安全规则 - 对象的属性大小未定义

ios - 某些类型的 FCM 数据消息未传送到 iOS 设备

google-cloud-firestore - Firebase/Firestore 事务是否会创建内部队列?

node.js - 使用 Firebase 的 Node.js 网站是否应该有两个 package.json?

android - 当onTap时,所有图标都会更改颜色,如何在单击时仅更改一个?

javascript - 如何构建 Cloud Functions for Firebase 以从多个文件部署多个函数?

Firebase 功能多个目录 - Nuxt 3/Nitro