Firebase i bezpieczeństwo JS

0

Ostatnio dosyć popularnym rozwiązaniem staje się FireBase jednak to oznacza całą logikę aplikacji po stronie JS(klienta) ...co z bezpieczeństwem. Użytkownik który wie o co chodzi może zmodyfikować kod po stronie klienta.

0

Kod po stronie klienta nie jest bezpieczny. Nikt też nie narzuca przeniesienia całej logiki na stronę klienta.

  1. Dla danego projektu google'owego możesz wygenerować service account z kluczami prywatnymi, które mają uprawnienia tylko do firebase api. Na podstawie tych kluczy wygenerujesz token autoryzacyjny dla klienta.

  2. Po stronie firebase możesz skonfigurować z jakiego ip, domeny i jakimi sposobami użytkownicy mogą się logować

  3. Po stronie firebase możesz w rules ustawić kto i jakie ma uprawnienia w danych ścieżkach bazy danych

0
MuadibAtrides napisał(a):

Kod po stronie klienta nie jest bezpieczny. Nikt też nie narzuca przeniesienia całej logiki na stronę klienta.

  1. Dla danego projektu google'owego możesz wygenerować service account z kluczami prywatnymi, które mają uprawnienia tylko do firebase api. Na podstawie tych kluczy wygenerujesz token autoryzacyjny dla klienta.

  2. Po stronie firebase możesz skonfigurować z jakiego ip, domeny i jakimi sposobami użytkownicy mogą się logować

  3. Po stronie firebase możesz w rules ustawić kto i jakie ma uprawnienia w danych ścieżkach bazy danych

W zasadzie interesuje mnie nabardziej numer 3, ale jak za pomocą ruleś zdefiniować logikę aplikacyjną według mnie się nie da np.

Mamy aplikację czatu i teraz user A piszę do B jednak w firebase jest zapisane w danych usera B, że A jest zbanowany i nie może pisać do B. Jednak cała logika kto/co jest w JS a co za tym idzie można to obejść

1

https://firebase.google.com/docs/database/security/securing-data możesz ustawić komuś flagę np. Not write i jeśli jego id tam jest to nie może pisać do jakiejś ścieżki. Bezpieczeństwo po stronie serwera firebase. A nadawanie uprawnień może dokonywać np tylko właściciel danej gałęzi. To co opisujesz to dosyć podstawowa funkcjonalność

1

Firebase nie jest do wszystkiego. Nie chce mi się kopiować, więc wpisz sobie when not to use firebase firebase use cases. https://www.quora.com/When-is-Firebase-not-a-good-choice

If you’re making something cool that just needs a fast, reliable database, user authentication and usage tracking, then Firebase is a great way to go. If you’re building something that has complex back-end business rules then you’re going to run into difficulties.

1 użytkowników online, w tym zalogowanych: 0, gości: 1