2017-05-10 8 views
0

私はAndroid環境で2か3か月間Firebaseを使っています。認証を必要としないFirebaseデータベースセキュリティ

私のすべてのセキュリティは、ユーザー登録とログイン、および認証に基づくいくつかのDBルールでした。

今私はで新しいプロジェクトを開始しています。Web環境(HTMLとJavascript)

書き込みと読み取りの操作を実行するためにfirebaseに接続するWebアプリケーションである必要があります。

私は、ユーザーが認証する必要はないので、必要はありません。

ブラウザの開発者コンソールですべてのHTMLとjavascriptが表示されているのは私には驚きました。私のHTMLの中には、私のプロジェクトをDBや他のすべての機能と接続するのに必要なFirebase設定があります。

誰もが設定を参照できるようにしてもよろしいですか?

このような状況でセキュリティを実装する正しい方法はどれですか?

答えて

4

Firebaseデータベースへのアクセスは、ユーザーを知り、その知識に基づいてユーザーの使用を承認することを中心に行われます。あなたのWebユーザーにサインインする必要がない場合は、アクセスを許可するのは非常に簡単です。

しかし、悪意のあるユーザーが他のユーザーのデータを上書きしたり、ほかのユーザーのためにデータベースへのアクセスをロックしたりすることを、どのように制御しますか?あなたがサインインするユーザーを必要としない場合

に誰を許可

  1. ができるように皆
  2. 中:に悪意のあるユーザーの身元を知らなくても、あなたの唯一のオプションがありませんどんなユーザーが各行動を取ったかを知ることに基づいてアクセスを保護したい場合は、 Firebase's anonymous authenticationを使用できます。ドキュメントからのコードスニペット:

    firebase.auth().signInAnonymously().catch(function(error) { 
        // Handle Errors here. 
        var errorCode = error.code; 
        var errorMessage = error.message; 
        // ... 
    }); 
    

    は、これはユーザーのためのユニークなIDを生成し、単一の無UI API呼び出し、です。したがって、ユーザーに負担はありませんが、セキュリティルール内では、そのようなユーザーのUIDには引き続き対応できます。

関連する問題