1

私が望む最後のことは、想定されていないデータベースにアクセスしている人です。私のアプリケーションのユーザーは、データベースにキーと子を持つアカウントを作成します(アクセスが簡単なユーザープロファイル)。また、認証アカウントを作成します。認証されたユーザーだけがデータベースにアクセスできるデータベース状態のルール。誰かが何らかの形でデータベースの他の部分にアクセスする可能性はありますか(おそらくハッキングによって)?これはfirebaseを使用して私の最初のアプリであり、私はユーザー情報が保護されることを確認したい。firebaseデータを安全に保つ

答えて

1

これは、のルールによって異なります。

は、ルールがある場合は、次のルールの

// These rules require authentication 
{ 
    "rules": { 
    ".read": "auth != null", 
    ".write": "auth != null" 
    } 
} 

この種の完全な読み取りを可能にし、認証されたユーザーのアプリのへの書き込みアクセスを。つまり、認証されたユーザーは、ハッキングなしでデータベース内のすべてのデータにアクセスできます。

あなたはこのルールに似た何かを設定した場合:

{ 
    "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" 
     } 
    } 
    } 
} 

を、それがこのユーザアカウントの所有者にだけ、このデータの書き込みアクセスを許可します。

これは、データ内の各ノードに対して必要な結果が得られるようにルールを設定する必要があることを意味します。

+0

ユーザーが認証されている場合のルールの場合、読み取り/書き込みアクセスを許可すると、アプリで編集できるものを編集することのみが許可されます。 – XvKnightvX

+0

@XvKnightvX安全ではありません。あなたがデータに正式な権限を持っている場合、他の方法でアクセスすることができます。たとえば、データベースのURLを持っているだけです。 –

+0

だから、あなたの答えにある2番目のルールセットに似た何かを使う必要があります。私のアプリにはユーザータイプ(ユーザー管理者)があり、個々のビジネスごとのデータセクションと、すべてのユーザーのリストを含むデータベースの別々のセクションがあります。ユーザー役割に基づいてユーザーがアクセスできるデータを制限するにはどうすればよいですか? – XvKnightvX

関連する問題