Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 19901|Ответ: 0

[Связь] C# WinForm предотвращает инъекцию SQL

[Скопировать ссылку]
Опубликовано 29.01.2015 10:12:59 | | |
Параметр прохождения по параметру:
строка sql = "выбрать count(*) из zhuce, где username=@username и pwd=@pwd а type = @type";
SqlConnection conn = новый SqlConnection(Common.Context.SqlManager.CONN_STRING);
            КОНН. Open();

            SqlCommand cmd = новый SqlCommand (sql, conn);
cmd.Parameters.Add("@username",SqlDbType.VarChar,30);
cmd.Parameters.Add("@pwd",SqlDbType.VarChar,30);
cmd.Parameters.Add("@type",SqlDbType.VarChar,10);
cmd.Parameters["@username"]. Value = имя пользователя;
cmd.Parameters["@pwd"]. Value = PWD;
cmd.Parameters["@type"]. Значение = мощность. СМС;

            int count = Convert.ToInt32(cmd.ExecuteScalar());

            КОНН. Close();



Не уверен, какую базу данных вы используете
Вот фрагмент кода SQL-Server
Самое важное для предотвращения инъекционных атак — не использовать параметры сплайсинга, а методы назначения параметров.
SqlConnection conn=......
SqlCommand comm =new SqlCommand ("выберите count (*)из таблицы 1, где name = @loginame и password = @loginpassword",conn);
Связь. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20);
Связь. Parameters["@loginame"].value=TextBox1.Text;
Связь. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20);
Связь. Parameters["@loginpassword"].value=TextBox2.Text;
Связь. Connection.Open();
int mark=(int)comm. ExecuteScalar()
//--mark用于标记




Предыдущий:comboBox установлен на режим только для чтения (select-only)
Следующий:SQL Server Composite Index Learning
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com