Firebaseはデータベースのバックエンドを提供するため、開発者はクライアント側のコードに集中できます。
したがって、誰かが私のfirebase uriを取得した場合(たとえばhttps://firebaseinstance.firebaseio.com
)、ローカルで開発します。
次に、Firebaseインスタンスから別のアプリを作成し、登録して認証して、Firebaseアプリのすべてのデータを読み取ることができますか?
回答:
@Frank van Puffelen、
あなたはフィッシング攻撃について言及しました。実際にそれを確保する方法があります。
googleAPIs API Managerコンソールにログインする場合、アプリがリクエストを受け入れるHTTPリファラーをロックダウンするオプションがあります。
これにより、ホワイトリストに登録されたドメインのみがアプリを使用できるようになります。
これについては、Firebase Launch-Checklistのhttps://firebase.google.com/support/guides/launch-checklistでも説明されています。
おそらく、Firebaseのドキュメントにより、これがより見やすくなるか、デフォルトでドメインが自動的にロックダウンされ、ユーザーにアクセスを許可するように要求される可能性がありますか?
誰かがあなたのURLを知っているという事実は、セキュリティ上のリスクではありません。
例:私の銀行はbankofamerica.comでWebサイトをホストしており、そこでHTTPプロトコルを話していると言っても問題ありません。私がそのサイトにアクセスするために使用する資格情報も知らない限り、URLを知っていても何の役にも立ちません。
データを保護するには、データベースを次の方法で保護する必要があります。
これはすべて、セキュリティとルールに関するFirebaseのドキュメントで説明されています。これを強くお勧めします。
これらのセキュリティルールが設定されている場合、他の誰かのアプリがデータベース内のデータにアクセスできる唯一の方法は、アプリケーションの機能をコピーし、ユーザーに自分の代わりにアプリにサインインさせ、サインイン/読み取り/書き込みを行うことです。あなたのデータベース; 基本的にフィッシング攻撃。その場合、データベースにセキュリティの問題はありませんが、おそらくいくつかの当局を関与させる時期です。
https://tinderclone.firebaseio.com/
してhttps://tinderclone.firebaseio.com/profiles.json
。それらは実際のFirebaseデータベースです。メールでサインアップフォームとログインフォームを作成して、アプリを開発できますか?私のアプリでは誰でもメールで登録できるので、登録後はすべてのデータを読むことができますか?後で別の質問をします。ありがとう
".read": false
するだけで、誰もがデータを見ることができなくなります。あなたはおそらくそれより少し多くを許可したいと思うでしょう、しかしそれはすべてあなたのユースケースに依存します。データの保護については、セキュリティとルールに関するFirebaseのドキュメントで説明されています。
ドメイン名が適用されないモバイルアプリの認証ホワイトリストに関して、Firebaseは
1)SHA1 fingerprint
のためのAndroidアプリと
2)App Store ID and Bundle ID and Team ID (if necessary)
あなたのためのiOSアプリ
これはFirebaseコンソールで設定する必要があります。
検証ではないので、この保護機能では、誰かが有効なAPIキー、認証ドメインなどを持っているだけでなく、ちょうどあれば、それは私たちの認可のアプリケーションから来ているdomain name/HTTP referrer in case
のウェブ。
そうは言っても、これらのAPIキーや他の接続パラメータが他の人に公開されているかどうかを心配する必要はありません。
詳細については、https://firebase.google.com/support/guides/launch-checklistをご覧ください。