私はFirebaseの初心者です。理論的な質問があります。 Firebaseにデータベースがあり、私はReactJSによって構築されたWebアプリケーションを持っています。データベースには、たとえば電子メールとパスワード、およびisAdminプロパティを持つユーザーコレクションがあります。したがって、isAdminが1の場合、これらのユーザーは管理者になります。ログイン後、ユーザーのisAdmin値を確認できますが、誰かがJS条件をクライアント側で変更するとどうなりますか?クライアント側のisAdminパラメータを変更した場合、彼はサイトの管理者部分にアクセスできますか?私はこの話題についての記事を読んだことがありますが、私はこのセキュリティメカニズムの仕組みを理解していません。これは既存の脅威ですか、何か逃しましたか? 説明と回答ありがとう!Firebaseログイン - 管理者のルール
0
A
答えて
0
通常、isAdmin
プロパティは、許可されたユーザーのみが設定できるようにします。
whitelist
と呼ばれるノードの下にフルアクセス権を持つユーザーのUIDをのリストを入れて、私のデモプロジェクトの多くで
:
whitelist
UID1: true
UID2: true
そして、私のデータベースのための私のセキュリティルールで、私は、ユーザーが指定しましたホワイトリストには完全な書き込みアクセス権があります。
{
"rules": {
".read": true,
".write": "root.child('whitelist').child(auth.uid).exists()"
}
}
この単純な設定では、すべてのユーザーがデータベース全体を読み取ることができます。ただし、管理者だけがデータベースのどこにでも書き込むことができます。通常のユーザーは管理者ではないため、自分のUIDをホワイトリストに追加することはできません。
役に立つかもしれないいくつかの関連質問:
関連する問題
- 1. Djangoの管理者にログイン
- 2. Technicolor TG582n管理者のログイン
- 3. Firebaseの管理者とユーザーアカウント
- 4. 管理者ログイン開発
- 5. Laravel隔離管理者ログイン
- 6. 管理者確認後のログイン
- 7. アクティブな管理者のログインが遅い
- 8. CodeIgniter管理者とユーザーのログイン
- 9. kentico 9管理者ログイン後のcmsdeskシステムエラー
- 10. Cakephp:管理者としてログインonClick
- 11. CakePHP3ログイン管理者側に常に偽
- 12. CakePHP認証ユーザーと管理者ログイン
- 13. firebaseサーバ管理者権限で認証
- 14. @if(User.IsInRole( "システム管理者"、 "管理者"))
- 15. Django管理者:データベース管理
- 16. Auth0 - ルールとグループ&&ユーザー管理
- 17. codeigniterの管理者とユーザーセッション
- 18. ジャンゴ:/管理/ログイン/
- 19. Firebaseクラウドメッセージングログイン管理
- 20. Wordpressマルチサイト管理者のロックアウト
- 21. ジャンゴ、管理者
- 22. JTextArea管理者のパスワード管理
- 23. Django:Custome管理サイトクラスの管理者用デコレータ
- 24. FHIRリソースルール。 FHIRルール管理とルール定義
- 25. Laravel 5.4管理者としてログインすると多人数の管理者とユーザーがユーザーログインにリダイレクト
- 26. Magentoの管理者パスワード
- 27. ロードは、管理者
- 28. のZabbix 3.4とnginxの管理者のログイン失敗(ゲストのみ)
- 29. ウェブサイト用のログインと管理者用のアプリケーションの作成
- 30. Joomlaの管理者へのログインでの問題