是否可以在Firebase中控制洪水

时间:2017-03-24 08:24:30

标签: android firebase firebase-realtime-database firebase-security

我正在使用 Android 应用,该应用使用firebase 实时数据库来存储来自用户的消息以进行公共聊天。由于我对firebase安全性很陌生,我想知道是否有可能控制大量的消息到公共聊天。

我已经实施了firebase规则,在向公共聊天发送消息之前,需要对用户进行身份验证。

但是我很想知道,如果用户碰巧使用firebase javascript nodejs 库进行身份验证并且编写循环发送,是否可以充斥公共聊天消息不断。因此,使用我的firebase应用程序设置的带宽

以下是我的公共聊天节点

的Firebase数据库设计示例
"exmaplePublicChatName":{
  "message1":{
    "timestamp": 324324324,
    "uid": "uid",
    "message": "message1"
  },
  "message2":{
    "timestamp": 324324234,
    "uid": "uid",
    "message": "message2"
  }
}

1 个答案:

答案 0 :(得分:1)

你可以使用".write": "!data.exists()" for testing if the same data is repeated also ".validate": "newData.child('timestamp').val() <= root.child('exmaplePublicChatName').child(messageId).child('timestamp').val() - 2000"来测试两条消息之间的差异是2秒还是没有人可以破解,破解或猜测firebase的随机id生成