Begrenzung der Firebase-Rate in Sicherheitsregeln?

Ich habe mein erstes offenes Projekt gestartet,EphChatund die Leute begannen sofort, es mit Anfragen zu überfluten.

Hat Firebase eine Möglichkeit, Grenzwertanforderungen in den Sicherheitsregeln zu bewerten? Ich gehe davon aus, dass es eine Möglichkeit gibt, dies anhand des Zeitpunkts der Anforderung und der zuvor geschriebenen Daten zu tun, kann aber in der Dokumentation nichts darüber finden, wie ich dies tun würde.

Die aktuellen Sicherheitsregeln lauten wie folgt.

{
    "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
          }
        }
      }
    }
}

Ich möchte Schreibvorgänge (und Lesevorgänge?) Auf die Datenbank für das gesamte Rooms-Objekt beschränken, sodass (zum Beispiel) nur eine Anforderung pro Sekunde erfolgen kann.

Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage