質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Q&A

解決済

1回答

4647閲覧

FirebaseのHostingで作成したwebページでAPIキーなどの情報がモロに確認できてしまう

退会済みユーザー

退会済みユーザー

総合スコア0

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

0グッド

2クリップ

投稿2018/02/19 04:40

前提

FirebaseのHostingを利用してwebページを公開するテストをしています。Firebaseのバージョンは4.10.0です。

疑問

デプロイまで完了したのですが、ブラウザからソースを確認すると、APIキーなどの情報がモロに確認できてしまいます。

// init.jsの一部抜粋 firebase.initializeApp({ "apiKey": "APIキー", "databaseURL": "https://プロジェクトID.firebaseio.com", "storageBucket": "プロジェクトID.appspot.com", "authDomain": "プロジェクトID.firebaseapp.com", "messagingSenderId": "送信者ID", "projectId": "プロジェクトID" });

とりあえずGoogle Developer Consoleの、該当プロジェクトの「認証情報」を確認して

API キー Server key (auto created by Google Service) Browser key (auto created by Google Service)

の「キーの制限」で、HTTP リファラーに「プロジェクトID.firebaseapp.com/*」を指定すれば、セキュリティ対策になるのでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

それは初耳ですが,それで制限できるなら良いと思います.

一般的には,Firebaseのウェブコンソール上で,
Authentication > ログイン方法 > 承認済みドメインより制限し,
さらにデータベースやストレージなどもAuthを使ったrulesで制限をかけます.

投稿2018/02/19 08:54

Yatima

総合スコア1159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/19 09:27

ご回答ありがとうございます! Firebase Console > DEVELOP > Authentication > ログイン方法 > 承認済みドメイン にて、「ローカル」と「プロジェクトID.firebaseapp.com」が指定されているのが確認できました。 Authを使ったrulesについても、調べてみます。 ちなみに、APIキーや送信者IDなどの情報をソースに書かない方法はあるのでしょうか??
Yatima

2018/02/20 01:04 編集

一般公開する時にはlocalhostは消したほうが良いと思います. Authを使ったrulesというのは,単にrulesの中でAuth情報を参照するという意味です. APIキーなしでも `<script src="/__/firebase/init.js"></script>` と書くだけで実は設定できます. しかしwebpackなど使って本格的に開発する場合は相性があまり良くないです.
退会済みユーザー

退会済みユーザー

2018/02/20 01:15

ご回答ありがとうございます! rulesの補足、参考にさせていただきます。 なるほど外部JSスタイルで呼び出せば1段階は隠せますね。 (逆にいえば、完全に隠せない ⇒ 知られても大丈夫だよ、ということなのかも) 今回は簡単なPWAの作成テストでしたが、 Webpack等でゴリゴリやる時は留意しようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問