我启动了我的第一个开放式存储库项目EphChat,人们立即开始充斥它的请求.
Firebase是否有办法对安全规则中的限制请求进行评级?我假设有一种方法可以使用请求的时间和先前写入的数据的时间,但在文档中找不到有关如何执行此操作的任何内容.
目前的安全规则如下.
{
"rules": {
"rooms": {
"$RoomId": {
"connections": {
".read": true,
".write": "auth.username == newData.child('FBUserId').val()"
},
"messages": {
"$any": {
".write": "!newData.exists() || root.child('rooms').child(newData.child('RoomId').val()).child('connections').hasChild(newData.child('FBUserId').val())",
".validate": "newData.hasChildren(['RoomId','FBUserId','userName','userId','message']) && newData.child('message').val().length >= 1",
".read": "root.child('rooms').child(data.child('RoomId').val()).child('connections').hasChild(data.child('FBUserId').val())"
}
},
"poll": {
".write": "auth.username == newData.child('FBUserId').val()",
".read": true
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想对整个Rooms对象的db进行速率限制写入(和读取?),因此每秒只能生成1个请求(例如).
谢谢!
rate-limiting firebase firebase-security firebase-realtime-database