Pustaka yang baik harus menyediakan pelolosan yang tepat untuk nama SQL, yang meliputi:
- nama skema
- nama tabel
- nama kolom
Misalnya, dalam pg-promise Anda akan menggunakannya seperti ini:
db.query("INSERT INTO $1~ VALUES ($2, $3, $4)", [table_name, value_a, value_b, value_c])
yaitu Anda mendapatkan nama tabel Anda lolos dengan benar dengan menambahkan variabel dengan ~
, yang pada gilirannya membuatnya aman dari injeksi SQL.
Dari sini, pelarian sederhana untuk nama tabel yang dijalankan oleh perpustakaan:
return '"' + name.replace(/"/g, '""') + '"';
Lihat juga:Nama SQL