Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL инжектиране във Visual Basic 2010

По принцип навсякъде, където свързвате низове заедно, за да създадете своя SQL израз, особено това, което идва от потребителско въвеждане, е уязвимо.

Вместо да правите това, използвайте SQL параметри, които могат да бъдат добавени към свойството Parameters на вашата SQL команда (SQLcmd тук).

Ще ви покажа пример с един от вашите параметри - променете текста на SQLCommand на:

INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)

Където @pIDNo е "заместител" в низа за стойността на параметъра, който се изпраща отделно от командата в Колекция SQLParameters .

След това можете да добавите параметър със същото име като този "заместител" и стойността (той ще извлече типа от предоставената ви стойност).

Ето примера от по-рано:

SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извличане на данни от съхранена процедура, която има множество набори от резултати

  2. Ограничение само за един запис, маркиран като по подразбиране

  3. Проблем при предаване на XML параметър към съхранена процедура на SQL Server

  4. Тригерът на SQL Server AFTER INSERT не вижда току-що вмъкнатия ред

  5. Как да възстановим доверието в ограничение на външния ключ в SQL Server (примери за T-SQL)