問題タブ [firebase-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5149 参照

firebase - Firebase を使用した多対多

ユーザーとアカウントの 2 種類のオブジェクトがあるとします。ユーザーは多くのアカウントを持ち、他のユーザーと共有できます。そのため、User1 と User2 が AccountA を利用できる可能性があります。AccountB は User1 のみが利用できます。したがって、User1 には 2 つのアカウントがあり、User2 には 1 つのアカウントがあります。

これを構造化する「firebase」の方法は何ですか?

私は当初、ユーザーはそれぞれ、自分が属する一連のアカウントを保存できると考えていました。

または、アカウントにはユーザーの配列があります。

ユーザーのアカウントを簡単に見つけて、Ted がログインしたときに、データベース全体をプルダウンすることなく、Ted が属するアカウントを一覧表示できるようにする方法を考えています。とにかく、セキュリティのために、彼のマシンにそのすべてのデータを入れたくありません。

質問 #1 セキュリティ ルールはこれを処理しますか? つまり、ユーザーが所属するアカウントのみを許可するようにセキュリティ ルールを設定することを計画しています。「/accounts」をクエリすると、ユーザーがアクセスできるアカウントのみが返されることを期待しています...いいえ?

質問 #2 アイテムのリストを照会するメカニズムはありますか。「/accounts/[1,2]」のように、アカウント「/accounts/1」と「/accounts/2」を取り戻すには?

共有できる情報をありがとう。

0 投票する
1 に答える
656 参照

firebase - 保護された Firebase コレクション内の子の数を取得するにはどうすればよいですか?

サイトのユーザー用に保護されたfirebaseコレクションがあり、ユーザーオブジェクトの配列だけです。ユーザーのパーミッション ルールにより、認証されたユーザーは、ユーザー リスト内の自分のユーザー オブジェクトにのみアクセスでき、それ以外のユーザーにはアクセスできません。

この許可スキームを使用してコレクション内のすべてのユーザーの数を取得する簡単な方法を設定しようとしています。これにより、サイトの合計ユーザー数を表示できますが、数を取得する方法がないようです許可の問題を取得することなく、すべてのユーザーの。

これを修正する方法についてのアイデアはありますか?

ユーザーが追加/削除されるたびに増分および減分される公に読み取り可能なfirebaseの場所にカウントを保存できると思いますが、データを2回保存して不一致を心配したくありません。

サーバーに認証済みのウォッチャーを配置して、アクセス許可の要件をバイパスし、クライアントに (パブリックの場所に書き込むか、API として公開することで Firebase を介して) ユーザー カウントを送信することもできると思います。

理想的には、現時点ではすべてをクライアント側に置きたいので、これに対する簡単なアクセス許可ベースのソリューションがあれば教えてください。

ありがとう!

0 投票する
1 に答える
3157 参照

firebase - Firebase の製品へのサインアップを制限するにはどうすればよいですか

新しい製品を作成する場合は、単純な認証を使用します。「ユーザーの作成」API があります。招待された電子メール (電子メールまたはワンタイム キー経由) のみがサインアップできるように制限するにはどうすればよいですか? ルールに簡単には適合しないようですが、おそらく何かが欠けています。

0 投票する
1 に答える
2454 参照

firebase - リストへの追加のみを許可するfirebaseセキュリティルールはありますか?

シンプルなチャット アプリを作成したいのですが、どのユーザーもチャット エントリ リストを編集できないようにたいのですが、どのユーザーも追加できるようにしたいと考えています。これは可能ですか?

0 投票する
1 に答える
3757 参照

firebase - ユーザー間でデータを共有するための Firebase データとルールを構築する方法は?

現在、ユーザーがリストを作成し、完了した項目にチェックマークを付けることができる単純な todo アプリを持っています。データは、「/acc_」+ USER_ID +「/done」および「/acc_」+ USER_ID +「/todo」の構造になっています。項目が「完了」すると、完了リストに移動されます。

私が望むのは、ユーザーが別の認証されたユーザーとリストを共有できるようにすることです。

ルールは現在、次のように機能しているようです。

私がする必要があると思うのは、承認された電子メールアドレスの配列を持つ各ユーザーに、何らかの方法でそれをセキュリティルールにフックさせることです.

または、ルートにリストを作成し、作成者と共有ユーザーのみがアクセスできるようにすることもできます。

ガイダンスはありますか?

0 投票する
2 に答える
26047 参照

firebase - Firebase Realtime Database への不正アクセスを防ぐにはどうすればよいですか?

他のユーザーが Firebase URL 経由で Realtime Database にアクセスできないようにするにはどうすればよいですか? 自分のドメインのみに保護するにはどうすればよいですか?

0 投票する
1 に答える
231 参照

firebase - 親による読み取りルールの検証 - タイムスタンプより古いメッセージをフィルタリングします

サンプル チャット アプリケーションを作成していますが、セキュリティ読み取りルールに問題があります。チャット アプリケーションに接続した後、ユーザーがメッセージを読めるようにするだけです。このために、メッセージにタイムスタンプ値を追加しました。ここで、このタイムスタンプ >= ユーザーがこのメッセージを取得できる実際のタイムスタンプの場合にのみ必要です。しかし、親から $msgId (プッシュによって作成された) にアクセスできないため、これは機能しません。ここに私の rules.json があります: