Rumah >hujung hadapan web >tutorial js >Adakah node-mysql Menawarkan Perlindungan seperti Pernyataan yang Disediakan Terhadap Suntikan SQL?
Melindungi Apl Node.js Anda daripada Suntikan SQL
Soalan: Node.js menawarkan modul yang dipanggil node- mysql untuk menyambung ke pangkalan data MySQL. Walau bagaimanapun, adakah ia menyediakan ciri yang serupa dengan Penyata Disediakan PHP untuk menghalang suntikan SQL?
Jawapan: Ya, perpustakaan node-mysql secara automatik membersihkan input pengguna apabila anda menggunakan ruang letak dan nilai seperti anda ditunjukkan dalam kod yang anda berikan.
Tambahan Butiran:
Kod anda menggunakan modul sanitizer untuk pencegahan skrip merentas tapak (XSS). Selain itu, anda menggunakan sintaks pertanyaan berparameter node-mysql, yang memanggil fungsi connection.escape() secara dalaman untuk melarikan aksara.
Seperti yang dijelaskan dalam dokumentasi node-mysql (https://github.com /felixge/node-mysql#escaping-query-values), pendekatan ini berkesan menghalang kelemahan suntikan SQL. Pustaka secara automatik melarikan diri daripada mana-mana data yang dibekalkan pengguna sebelum melaksanakan pertanyaan.
Cadangan:
Memandangkan node-mysql sudah menyediakan pelarian automatik, anda tidak perlu beralih ke node-mysql-native, yang juga menyokong disediakan kenyataan.
Kesimpulan:
Dengan fungsi melarikan diri automatik node-mysql, aplikasi Node.js anda boleh melindungi dengan berkesan daripada suntikan SQL tanpa memerlukan kenyataan yang disediakan seperti dalam PHP .
Atas ialah kandungan terperinci Adakah node-mysql Menawarkan Perlindungan seperti Pernyataan yang Disediakan Terhadap Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!