Я запустил свой первый открытый проект репозитория 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
}
}
}
}
}
Я хотел бы записывать (и читать?) в db для всего объекта "Комнаты", поэтому только один запрос может быть сделан в секунду (например).
Спасибо!