@Frank van Puffelen,
Wspomniałeś o ataku phishingowym. Właściwie jest sposób, aby to zabezpieczyć.
Jeśli zalogujesz się do konsoli GoogleAPIs API Manager, masz możliwość zablokowania strony odsyłającej HTTP, od której Twoja aplikacja będzie akceptować żądania.
- odwiedź https://console.developers.google.com/apis
- Przejdź do projektu Firebase
- Przejdź do poświadczeń
- W sekcji Klucze API wybierz klucz przeglądarki powiązany z projektem Firebase (powinien mieć ten sam klucz, co klucz API, którego używasz do inicjowania aplikacji Firebase).
- W sekcji „Akceptuj żądania od tych stron odsyłających HTTP (witryn internetowych)” po prostu dodaj adres URL swojej aplikacji.
Powinno to pozwolić tylko domenie z białej listy na korzystanie z Twojej aplikacji.
Jest to również opisane tutaj na liście kontrolnej uruchamiania Firebase tutaj: https://firebase.google.com/support/guides/launch-checklist
Być może dokumentacja Firebase mogłaby uczynić to bardziej widocznym lub automatycznie zablokować domenę domyślnie i wymagać od użytkowników zezwolenia na dostęp?
Fakt, że ktoś zna Twój adres URL, nie stanowi zagrożenia dla bezpieczeństwa.
Na przykład: nie mam problemu z poinformowaniem Cię, że mój bank obsługuje swoją witrynę internetową pod adresem bankofamerica.com i używa tam protokołu HTTP. O ile nie znasz również danych uwierzytelniających, których używam, aby uzyskać dostęp do tej witryny, znajomość adresu URL nic ci nie da.
Aby zabezpieczyć swoje dane, Twoja baza danych powinna być chroniona:
Wszystko to jest omówione w dokumentacji Firebase dotyczącej bezpieczeństwa i reguł , którą bardzo polecam.
Dzięki tym regułom bezpieczeństwa aplikacja innej osoby może uzyskać dostęp do danych w Twojej bazie danych tylko wtedy, gdy skopiuje funkcjonalność Twojej aplikacji, poprosi użytkowników o zalogowanie się do swojej aplikacji zamiast do Twojej i zalogowanie się / odczyt / zapis twoja baza danych; zasadniczo jest to atak typu phishing. W takim przypadku nie ma problemu z bezpieczeństwem w bazie danych, chociaż prawdopodobnie nadszedł czas, aby zaangażować niektóre organy.
źródło
https://tinderclone.firebaseio.com/
ihttps://tinderclone.firebaseio.com/profiles.json
. Są prawdziwą bazą danych Firebase. Czy możesz opracować aplikację poza tym, tworząc formularz rejestracyjny i formularz logowania za pomocą poczty elektronicznej. Ponieważ moja aplikacja umożliwia każdemu rejestrację za pomocą poczty e-mail, czy po rejestracji byłbyś w stanie odczytać wszystkie dane? Później zadam ci kolejne pytanie. Dzięki".read": false
uniemożliwi nikomu zobaczenie danych. Prawdopodobnie chcesz pozwolić na nieco więcej, ale wszystko zależy od twojego przypadku użycia. Zabezpieczanie danych jest opisane w dokumentacji Firebase w sekcji Bezpieczeństwo i reguły .Jeśli chodzi o białą listę autoryzacji dla aplikacji mobilnych, gdzie nazwa domeny nie ma zastosowania, Firebase tak
1)
SHA1 fingerprint
dla aplikacji na Androida i2)
App Store ID and Bundle ID and Team ID (if necessary)
dla aplikacji na iOSktóre będziesz musiał skonfigurować w konsoli Firebase.
Z tej ochrony, ponieważ walidacja jest nie tylko jeśli ktoś ma prawidłowy klucz API, Autentyczna domenę, etc, ale także, czy to pochodzące z naszych autoryzowanych aplikacji i
domain name/HTTP referrer in case
od sieci .Powiedział, że nie musimy się martwić, jeśli ten klucz API i inne parametry połączenia zostaną ujawnione innym.
Aby uzyskać więcej informacji, https://firebase.google.com/support/guides/launch-checklist
źródło