0

私は、訪問者がフォームを送信し、そのフォームが送信されるときは常にデータを読み込むとデータを書き込むWebアプリケーションを持っています。誰もがデータを読むことができますが、データを書き込むには、ユーザーが送信ボタンをクリックするたびにFirebaseの匿名ログインオプションを使用します。Firebaseの匿名ログインセキュリティ

私のfirebaseデータベースのルールでは、ユーザーがいないために "auth!= null"に書き込みを設定しましたが、データを保護したいと考えています。

ブラウザの開発者ツールで自分の設定ファイルを見つけて、その設定ファイルと匿名ログインを使用してデータを乱用するアプリを作成する人はいませんか?可能であれば、データを安全に保つにはどうすればよいですか?

+0

ルールに書き込むために "auth!= null"を設定した場合、conectedユーザ以外の誰もデータを書き込むことはできませんが、疑問がある場合はfirebaseルールシミュレータを使用してルールをテストできます。 –

+0

確かに、誰も私の設定ファイルを見つけて、それを自分のデータベースに接続し、匿名ログインを使用して自分のデータを悪用するのに使うことができないのですか? –

+0

configはjavascriptファイルの中にあるので、可能な限りconfigを探してください。ただし、javascriptファイルを小さくするだけです。 –

答えて

0

異なるユーザーを作成し、そのユーザーのデータを変更することができます。ただし、その匿名ユーザーのデータを取得することはできません。次のルールを設定することで、特定のユーザー(一意のユーザーIDで識別されるユーザー)のみが自分のデータにアクセスできるようにすることができます。 https://firebase.google.com/docs/database/security/user-security

これはあなたの本当のアプリにログインユーザーは、匿名で、そのデータは、いくつかのフィッシングアプリで外部からアクセスしていないだろうことを保護します。この詳細についてのドキュメントをチェック { "rules": { "users": { "$user_id": { // grants write access to the owner of this user account // whose uid must exactly match the key ($user_id) ".write": "$user_id === auth.uid", // You can do the same for reads. ".read": "$user_id === auth.uid" } } } } :各匿名ユーザーが一意のUIDを持っています。

ただし、あなたのAPIキーを使用して匿名ユーザーにサインアップすることはできません。より安全なログインメカニズムが必要な場合は、発信元の確認メカニズムを持つOAuthプロバイダまたは電話サインインを調べることができます。

+0

よろしくお願いします。ユーザーが送信ボタンを押すと、データをグローバルストアに送信する必要があります。データを取得するときに、ユーザーが送信ボタンを押して送信したすべてのデータが必要です。つまり、ユーザーデータはなく、チェックインとチェックアウトの日付は保存するだけです。私は何をすることができますか? –

+0

ええと、私は参照してください。これは、匿名ユーザーだけでは安全ではありません。上記の指定されたルールを使用して保護されたユーザー固有のデータを各ユーザーごとに収集し、グローバルストアで変更するオフラインスクリプトを作成することはできますが、このデータに影響を与えるユーザーの署名からフィッシング詐欺アプリを保護することはできません。私はこのデータがクリティカル/センシティブであれば、おそらくより安全な認証メカニズムを使用すべきだと思います。それ以外の場合は、リスクを受け入れる必要があります。 – bojeil

関連する問題