Проверка данных, введенных пользователем
При создании приложения, которое получает доступ к данным, следует исходить из того, что все данные, вводимые пользователем, являются вредоносными, пока обратное не доказано. Несоблюдение этого правила может привести к созданию уязвимого для атак приложения. Один из типов атак, которые могут возникнуть, называется внедрением кода SQL. Эта атака позволяет добавлять вредоносный код в строки, передаваемые экземпляру SQL Server для синтаксического анализа и выполнения. Чтобы избежать этого типа атаки, следует по возможности использовать хранимые процедуры с параметрами и всегда проверять вводимые данные.
Проверка вводимых пользователем данных в клиентском коде позволяет сократить число ненужных циклов приема-передачи данных на сервер. Не менее важно проверять параметры хранимых процедур на сервере. Это позволяет перехватывать входные данные, обходя проверку на стороне клиента.
Дополнительные сведения об атаке путем внедрения кода SQL и о том, как ее избежать, см. в статье Внедрение кода SQL. Дополнительные сведения о проверке параметров хранимых процедур см. в статье Хранимые процедуры (ядро СУБД) и других статьях по теме.