ホームページ >ウェブフロントエンド >jsチュートリアル >Firebase 権限が拒否されました: このエラーを修正してデータベースを保護するにはどうすればよいですか?
Firebase のアクセス許可が拒否されました: 理解と解決策
コーディングの初心者にとって、「PERMISSION_DENIED: アクセス許可が拒否されました」のようなエラーが発生するとイライラすることがあります。提供されたコードを使用して Firebase データベースにデータを保存しようとすると、このエラーが発生します。この問題を解決し、データ ストレージを確実に成功させるには、根本原因と考えられる解決策を理解することが重要です。
エラーの原因
デフォルトでは、Firebase データベースはアクセスを制限しています。管理ユーザー。 Firebase コンソールでプロジェクトを作成すると、データベースは最初は管理操作専用に構成されます。したがって、通常のユーザーは、特定の権限が付与されていない限り、データにアクセスしたり変更したりすることはできません。エラー「PERMISSION_DENIED」は、データを書き込もうとしているユーザーに必要な権限がないことを示します。
問題への対処
このエラーを回避するには、次のような複数の方法が考えられます。
1.セキュリティ ルールを変更する (推奨)
認証されたユーザーによるアクセスを許可するように Firebase データベース セキュリティ ルールを変更します。次のコードをルールに追加します:
{ "rules": { ".read": "auth != null", ".write": "auth != null" } }
2.非認証アクセスを許可する (注意)
デフォルトのルールを次のコードに置き換えて、データベースへの非認証アクセスを有効にします:
{ "rules": { ".read": true, ".write": true } }
注意: このメソッドデータベースの URL を知っている人に無制限のアクセスを許可します。このソリューションを運用環境に展開する前に、データベースが適切に保護されていることを確認してください。
3.データベースアクセス前にユーザーにサインイン
データベースにアクセスする前にユーザー認証を実装します。以下のコード例に示すように、匿名認証を使用します。
firebase.auth().signInAnonymously().catch(function(error) { // Handle Errors }); firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. Proceed with database operations. } });
最も安全なアプローチは、ユーザー認証を実装し、それに応じてデータベース アクセスを制限することであることに注意してください。アプリケーションの要件とセキュリティ上の考慮事項に基づいて、優先される方法を使用してください。
以上がFirebase 権限が拒否されました: このエラーを修正してデータベースを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。