Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SqlParameter tidak mengizinkan Nama tabel - opsi lain tanpa serangan injeksi sql?

Pergi untuk daftar putih. Hanya ada satu set tetap dari mungkin nilai yang benar untuk nama tabel - setidaknya, jadi saya berharap.

Jika Anda tidak memiliki daftar putih nama tabel, Anda dapat memulai dengan daftar putih karakter - jika Anda membatasinya pada A-Z, a-z dan 0-9 (tidak ada tanda baca sama sekali) maka itu akan menghilangkan banyak kekhawatiran. (Tentu saja itu berarti Anda tidak mendukung tabel dengan nama aneh... kami tidak benar-benar mengetahui kebutuhan Anda di sini.)

Tapi tidak, Anda tidak bisa menggunakan parameter untuk nama tabel atau kolom - hanya nilai. Itu biasanya terjadi di database; Saya tidak ingat pernah melihat yang melakukannya mendukung parameter untuk itu. (Saya berani mengatakan ada beberapa, tentu saja...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UNION hasil dari beberapa prosedur tersimpan

  2. Tingkat Isolasi SQL Server:Seri

  3. Cara Menjatuhkan atau Menghapus semua Pemicu dari Database di SQL Server

  4. 3 Cara Mengembalikan Daftar Pekerjaan Agen SQL Server (T-SQL)

  5. Bagaimana SESSION_CONTEXT() Bekerja di SQL Server