Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SqlParameter không cho phép Tên bảng - các tùy chọn khác mà không có cuộc tấn công tiêm sql?

Đi đến một danh sách trắng. Chỉ có thể có một tập hợp cố định là có thể vẫn đúng giá trị cho tên bảng - ít nhất, vì vậy tôi hy vọng.

Nếu bạn không có danh sách trắng tên bảng, bạn có thể bắt đầu với danh sách trắng gồm ký tự - nếu bạn giới hạn nó ở A-Z, a-z và 0-9 (không có dấu chấm câu nào cả) thì điều đó sẽ loại bỏ rất nhiều mối quan tâm. (Tất nhiên điều đó có nghĩa là bạn không hỗ trợ các bảng có tên kỳ lạ ... chúng tôi không thực sự biết yêu cầu của bạn ở đây.)

Nhưng không, bạn không thể sử dụng các tham số cho tên bảng hoặc cột - chỉ các giá trị. Đó là trường hợp điển hình trong cơ sở dữ liệu; Tôi không nhớ mình đã thấy cái nào đã làm các thông số hỗ trợ cho điều đó. (Tôi dám chắc rằng có một số, tất nhiên ...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi đối tượng DateTime của SQL Server thành BIGINT (.Net tick)

  2. Làm cách nào để bạn có được các tìm kiếm toàn văn bằng ký tự đại diện hàng đầu hoạt động trong SQL Server?

  3. Truy vấn chuyển qua SQL Server làm cơ sở cho tập bản ghi DAO trong Access

  4. Tạo bảng HTML với SQL FOR XML

  5. Cách @@ MAX_CONNECTIONS hoạt động trong SQL Server