1

ユーザーが書き込み権限を持つキーにデータを書き込めるかどうか不思議です。もちろん、これは彼らが使っているアプリによる認証によって行われます。しかし、どれくらいうまく保護されていますか?私がWi-Fiに接続している場合は、改ざんデータを使用して送信されるネットワークアクティビティを変更することができます。Firebaseはどのくらい保護されていますか?

ここに記載されているとおり:Does firebase encrypt data with a unique key per account?データは暗号化されてデータベースに書き込まれます。ただし、キーがFirebaseに「到着」していないときに、キーの値を変更することは含まれません。

改ざんデータのようなネットワークアクティビティを監視することから値を変更することはできますか?

また、のは、これらはいくつかのルールですとしましょう:

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".read": "$uid === auth.uid", 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 

は、ユーザーが自分のアプリケーションを使用するよりも、他の方法で自分自身を認証できます方法はありますか?彼が書き込みルールを持っていれば、認証されたユーザーが値をデータベースに直接どれだけ簡単に変更できますか?唯一の鋳造を含むFirebase認証(の形で署名を介して取得することができ

あなたの提供のルールで

答えて

7

ありがとう、ユーザーはuid自分自身に対応するノードに任意のデータを書き込むことができるだろう、 Firebase Admin SDKを使用してカスタムトークンをサーバーサイドに配置します)。

Firebaseリアルタイムデータベーストラフィックの100%がTLS暗号化接続を介して送信されます。このトラフィックを途中で人の手に渡って飛行中に変更する方法はありません。

Firebaseデータベースセキュリティルールが仕事をすると信じることはできますが、特定のアプリケーションのユースケースのデータを適切に保護する堅牢なルールを作成することはあなた次第です。私は.validate構造のルールときめ細かい.writeルールをどこにでも使用することをお勧めします。覚えておくべきもう1つの重要なヒントは、承認が階層的であることです。 .writeルールがクライアントによって一致されると、すべての子ノードがそのクライアントによって書き込まれます。

関連する問題