Kita semua tahu bahwa Meteor menawarkan driver miniMongo yang secara mulus memungkinkan klien untuk mengakses lapisan persisten (MongoDB).
Jika ada klien yang dapat mengakses persistent API, bagaimana cara mengamankan aplikasinya?
Apa mekanisme keamanan yang disediakan Meteor dan dalam konteks apa mereka harus digunakan?
Jawaban:
Saat Anda membuat aplikasi menggunakan perintah meteor, secara default aplikasi menyertakan paket berikut:
Bersama-sama, ini meniru efek dari setiap klien yang memiliki akses baca / tulis penuh ke database server. Ini adalah alat pembuatan prototipe yang berguna (hanya untuk tujuan pengembangan), tetapi biasanya tidak sesuai untuk aplikasi produksi. Saat Anda siap untuk rilis produksi, hapus saja paket ini.
Untuk menambahkan lebih banyak, Meteor mendukung paket Facebook / Twitter / dan Banyak Lagi untuk menangani otentikasi, dan yang paling keren adalah paket Akun-UI
sumber
meteor remove autopublish insecure
.access denied
kesalahan. Saksikan berikut ini.Dalam dokumen koleksi mengatakan:
sumber
Jika Anda berbicara tentang membatasi klien untuk tidak menggunakan API sisipkan / perbarui / hapus apa pun yang tidak sah, itu mungkin.
Lihat, aplikasi rencana mereka di https://github.com/meteor/meteor/tree/171816005fa2e263ba54d08d596e5b94dea47b0d/examples/todos
Juga, mereka sekarang telah menambahkan modul AUTH bawaan, yang memungkinkan Anda masuk dan mendaftar. Jadi aman. Sejauh Anda mengurus XSS, Valiations, header klien, dll.
tetapi Anda setiap saat dapat mengubah aplikasi meteor menjadi aplikasi nodejs yang berfungsi penuh dengan menerapkan ke node. Jadi, jika Anda tahu cara mengamankan aplikasi nodejs, Anda harus bisa mengamankan meteor.
sumber
Mulai 0.6.4, selama mode pengembangan, blok is_client dan is_server masih keduanya masuk ke sistem klien. Saya tidak bisa mengatakan apakah ini dipisahkan saat Anda menonaktifkan mode pengembangan.
Namun, jika tidak, peretas mungkin dapat memperoleh wawasan dari sistem dengan meninjau blok kode if (Meteor.is_server). Itu terutama menyangkut saya, terutama karena saya mencatat bahwa saya masih pada titik ini tidak dapat memisahkan Koleksi menjadi file terpisah di klien dan server.
Memperbarui
Nah, intinya adalah jangan letakkan kode terkait keamanan di blok is_server di direktori non-server (misalnya - pastikan kode itu ada di bawah / server.
Saya ingin melihat apakah saya hanya tergila-gila karena tidak dapat memisahkan Koleksi klien dan server di direktori klien dan server. Sebenarnya tidak ada masalah dengan ini.
Ini tes saya. Ini adalah contoh sederhana dari model terbitkan / berlangganan yang tampaknya berfungsi dengan baik. http://goo.gl/E1c56
sumber