我正在开发一款Android应用程序,该应用程序使用firebase实时数据库来存储来自用户的消息以进行公共聊天。由于我对火力基地安全很陌生,我想知道是否有可能控制公共聊天中的大量消息。
我已经实施了 firebase 规则,即用户在向公共聊天发送消息之前需要进行身份验证。
但是,我很想知道如果用户碰巧使用Firebase javascript或nodejs库进行身份验证并编写循环以连续发送消息,是否可以淹没公共聊天。因此,用完了为我的Firebase应用程序设置的带宽。
下面是我为公共聊天节点设计的 Firebase 数据库示例
"exmaplePublicChatName":{
"message1":{
"timestamp": 324324324,
"uid": "uid",
"message": "message1"
},
"message2":{
"timestamp": 324324234,
"uid": "uid",
"message": "message2"
}
}
您可以使用".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生成