AngularFire のドキュメントが薄く、それと Firebase のデフォルトの Web ドキュメントとの違いにより、ユーザーの作成、読み取り、更新、および削除操作を保護する最善の方法について少し迷っています。
簡単に言うと、店舗を管理するアプリケーションがあるとします。ユーザーは、ストアのオーナーまたはパトロンになることができます。所有者は自分のビューで自分のストアを読み取って編集する必要があり、パトロンは自分のビューですべてのストアを読み取り、編集する必要はありません。
次のような Firebase ドキュメントで提案されているメソッドのセキュリティが心配です
たとえば、次のようなルールを作成して、ユーザー ID をコメントと共に保存する限り、ユーザーがコメントを作成できるようにすることができます。
{
"rules": {
".read": true,
"$comment": {
".write": "!data.exists() && newData.child('user_id').val() == auth.id"
}
}
}
私にとって、これは、コメントを投稿したいときに、被害者のユーザー ID を渡すだけで、アプリケーションのデータをハッキングできることを意味します。私が間違っている?
セキュリティに関するドキュメントを何度も読みました。ここはもっと説明が必要だと思います。クライアントに公開されたパラメーターによる識別は、これまでに見つけた唯一の方法です。