Memahami Sintaks Peraturan Keselamatan
Fahami sintaks dan struktur Firebase Realtime Database Security Rules untuk mentakrifkan kebenaran akses
Memahami Sintaks Peraturan Keselamatan ialah pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata merangkumi sejumlah 4 pelajaran.
Mengapa Peraturan Keselamatan?
Selamat datang ke Peraturan Keselamatan Realtime Database! Peraturan ini amat penting untuk memastikan data Anda selamat dan mengawal perkara yang boleh dilakukan oleh setiap pihak dalam aplikasi Firebase Anda.
Anggaplah peraturan ini sebagai pengawal pintu untuk pangkalan data Anda: peraturan ini memeriksa setiap permintaan untuk membaca, menulis atau mengemas kini data, kemudian menentukan sama ada permintaan itu dibenarkan atau tidak.
Fail Peraturan Anda
Peraturan Keselamatan Firebase Realtime Database ditentukan dalam fail JSON, yang biasanya dinamakan rules.json. Anda akan memuat naik fail ini ke projek Firebase Anda.
Keseluruhan set peraturan dibungkus di bawah kunci peringkat tertinggi "rules", seperti ini:
{
"rules": {
// Your security rules go here!
}
}Peraturan Terbuka Lalai
Apabila Anda mula-mula mencipta Realtime Database, Firebase sering menyediakan set peraturan yang sangat terbuka. Ini membolehkan sesiapa sahaja membaca dan menulis data, yang bagus untuk bermula dengan cepat tetapi amat buruk untuk penggunaan dalam pengeluaran!
Peraturan ini kelihatan seperti berikut:
{
"rules": {
".read": "true",
".write": "true"
}
}Menyasarkan Laluan Data
Peraturan digunakan berdasarkan laluan ke data Anda. Anda menyusun peraturan secara bersarang dalam objek "rules" untuk menyasarkan bahagian tertentu dalam pangkalan data Anda, sama seperti folder dalam sistem fail.
Contohnya, untuk menetapkan peraturan bagi /users atau /messages:
{
"rules": {
"users": {
// Rules for data under /users
},
"messages": {
// Rules for data under /messages
}
}
}Kebenaran Membaca Asas
Peraturan ".read" menentukan pihak yang boleh mendapatkan data daripada laluan tertentu. Jika permintaan membaca sepadan dengan laluan yang mempunyai ".read": "true", permintaan itu dibenarkan. Jika nilainya "false", permintaan itu ditolak.
Begini cara Anda boleh menetapkan kebenaran membaca:
{
"rules": {
"publicPosts": {
".read": "true" // Anyone can read blog posts
},
"secretDocs": {
".read": "false" // No one can read secret documents
}
}
}Kebenaran Menulis Asas
Begitu juga, peraturan ".write" mengawal pihak yang boleh mencipta, mengemas kini atau memadam data pada laluan tertentu. Menetapkannya kepada "true" membenarkan operasi menulis, manakala "false" menolaknya.
Mari lihat beberapa contoh peraturan menulis:
{
"rules": {
"guestbook": {
".write": "true" // Anyone can sign the guestbook
},
"adminSettings": {
".write": "false" // No one can change admin settings yet
}
}
}Menggabungkan Baca & Tulis
Anda boleh menentukan peraturan ".read" dan ".write" untuk laluan yang sama. Firebase menilai kedua-duanya secara berasingan.
Contohnya, untuk menjadikan laluan boleh dibaca oleh semua orang tetapi belum boleh ditulis oleh sesiapa:
{
"rules": {
"announcements": {
".read": "true", // Everyone can see announcements
".write": "false" // No one can post new announcements
}
}
}Laluan Dinamik dengan Kad Liar
Bagaimana jika Anda mempunyai banyak item di bawah satu laluan, seperti profil pengguna individu (/users/user123, /users/user456)? Anda tentu tidak mahu menulis peraturan untuk setiap satunya!
Gunakan pemboleh ubah kad liar yang diawali dengan $ untuk sepadan dengan mana-mana nod anak. Pemboleh ubah ini kemudiannya boleh digunakan dalam peraturan itu sendiri.
{
"rules": {
"profileData": {
"$userId": {
".read": "true", // Anyone can read any user's profile
".write": "false" // But no one can edit them yet
}
}
}
}`auth` dan `data`: Pembantu Peraturan
Apabila menulis peraturan yang lebih lanjutan, Anda sering perlu menyemak pihak yang membuat permintaan atau data yang sudah wujud. Firebase menyediakan pemboleh ubah khas untuk tujuan ini:
auth: Mengandungi maklumat tentang pengguna yang sedang disahkan (jika ada).data: Merujuk kepada data yang sudah wujud pada laluan yang sedang diakses.newData: Merujuk kepada data yang sedang ditulis (hanya untuk peraturan tulis/sahkan).
Pemboleh ubah ini membolehkan Anda mencipta peraturan pintar, seperti "hanya pemilik boleh menyunting profilnya." Kita akan membincangkannya dengan lebih lanjut dalam pelajaran akan datang!
Semakan Sintaks
Berdasarkan Peraturan Keselamatan Pangkalan Data Masa Nyata Firebase di bawah, pernyataan manakah yang benar?
{
"rules": {
"posts": {
".read": "true",
"comments": {
".write": "false"
}
},
"users": {
"$userId": {
".read": "true"
}
}
}
}Ringkasan Pelajaran
Syabas! Dalam pelajaran ini, anda telah mempelajari sintaks asas Peraturan Keselamatan Pangkalan Data Masa Nyata Firebase:
- Peraturan disimpan dalam fail
rules.json. - Peraturan disarang untuk menyasarkan laluan data tertentu.
".read"dan".write"mengawal akses membaca dan menulis.- Kad bebas (
$variable) menjadikan peraturan dinamik untuk nod anak. - Anda telah diperkenalkan kepada pemboleh ubah konteks seperti
authdandata.
Seterusnya, kita akan mendalami penggunaan peraturan ini untuk kawalan akses berasaskan pengguna!
Pelajari Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 11
- Pelajaran
- 44
Soalan Lazim
Adakah pelajaran “Memahami Sintaks Peraturan Keselamatan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata, termasuk “Memahami Sintaks Peraturan Keselamatan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memahami Sintaks Peraturan Keselamatan”?
Fahami sintaks dan struktur Firebase Realtime Database Security Rules untuk mentakrifkan kebenaran akses Anda berlatih Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Memahami Sintaks Peraturan Keselamatan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata ini?
Ya. Setiap pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Memahami Sintaks Peraturan Keselamatan
- Kawalan Akses Berasaskan Pengguna
- Mengesahkan Data dengan Peraturan
- Menguji dan Menyahpepijat Peraturan Keselamatan