Как предотвратить обновление больших строк в базе данных Firebase - PullRequest
0 голосов
/ 11 ноября 2018

Я использую vue.js с vuetify для очень простой базы данных Firebase с аутентификацией пользователя.

У меня есть поле с именем notes, и я никогда не хочу, чтобы пользователь отправлял более 2000 символов. Я знаю, что могу использовать this.userInfo.notes.substring(0, 2000), но я думаю, что это на клиенте, и я думаю, что это должно быть сделано на стороне сервера.

Я думал, что все приложения Firebase будут ограничивать максимальную длину для обновлений, но я не смог найти примеры.

Я вижу https://firebase.google.com/docs/reference/security/database/#newdata, но не знаю, как использовать.

Отрывок

updateDatabase () {
  database.ref('users').child(currentUserId).update({
    notes: this.userInfo.notes || '',

Спасибо

1 Ответ

0 голосов
/ 11 ноября 2018

Для проверки на стороне сервера вы используете правила безопасности Firebase. Простой фильтр длины строки будет выглядеть примерно так:

{
  "rules": {
    "users": {
      "$uid": {
        "notes": {
          ".validate": "newData.isString() && newData.val().length <= 2000"
        }
      }
    }
  }
}

Также см .: https://firebase.google.com/docs/database/security/securing-data#predefined_variables

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...