Скрыть / отключить функции Firebase для клиента - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок в firebase и задаюсь вопросом, как отключить определенные функции для клиента, чтобы вручную ставить их в консоль браузера.

Пример:

function createRoomDB(roomID, name, mode, start, length, aname, opcount, secrettoken) {
  firebase.database().ref('rooms/' + roomID).set({
    name: name,
    mode: mode,
    start: start,
    length: length,
    aname: aname,
    opcount: opcount,
    secrettoken: secrettoken
  });
}

(Имена не имеют ничего общегос моим вопросом.)

Короче говоря: я не хочу, чтобы пользователи просто использовали эту команду для создания новых данных.Я знаю, что вы не можете скрыть код на внешнем интерфейсе, но каковы самые простые и эффективные способы отключить этот адский бэкдор?

Я планирую разместить это приложение на страницах GitHub.

1 Ответ

0 голосов
/ 17 декабря 2018

Поскольку ваш код может обращаться к базе данных, нет никакого способа предотвратить доступ к базе данных другим кодом, работающим в той же среде.

Это означает, что у вас есть два варианта:

  1. Убедитесь, что весь код (независимо от того, кто его написал) может выполнять только авторизованные операции с базой данных.
  2. Запустить код в другой среде.

Для первого вариантавы захотите изучить правила безопасности Firebase , которые автоматически запускаются на стороне сервера и могут обеспечить выполнение большинства требований.

Для второго варианта вы можете, например, запустить код в облакеФункции для Firebase, и вызовите это из вашего API.Это позволяет вам скрывать любые секретные значения и код в доверенной среде, но это означает, что вам необходимо обеспечить, чтобы только авторизованные пользователи могли вызывать эту облачную функцию .

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