Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19901|Resposta: 0

[Comunicação] O Winform em C# impede a injeção de SQL

[Copiar link]
Publicado em 29/01/2015 10:12:59 | | |
Passe por parâmetro:
string sql = "selecione count(*) de zhuce onde username=@username e pwd=@pwd e type = @type";
SqlConnection conn = novo SqlConnection(Common.Context.SqlManager.CONN_STRING);
            Conn. Aberto();

            SqlCommand cmd = novo 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.Parâmetros["@username"]. Valor = nome de usuário;
cmd.Parâmetros["@pwd"]. Valor = pwd;
cmd.Parameters["@type"]. Valor = potência. Texto;

            contagem de int = Convert.ToInt32(cmd.ExecuteScalar());

            Conn. Fechar();



Não sei qual banco de dados você está usando
Aqui está um pedaço de código SQL-Server
A coisa mais importante para prevenir ataques de injeção não é usar parâmetros de emendamento, mas sim métodos de atribuição de parâmetros.
SqlConnection conn=......
SqlCommand comm =novo SqlCommand ("select count (*)from Table1 onde nome = @loginame e senha = @loginpassword",conn);
comunicação. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20);
comunicação. Parâmetros["@loginame"].value=TextBox1.Text;
comunicação. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20);
comunicação. Parâmetros["@loginpassword"].value=TextBox2.Text;
comunicação. Conexão.Open();
int mark=(int)comm. ExecuteScalar()
//--mark用于标记




Anterior:ComboBox configurado para somente leitura (somente seleção)
Próximo:Aprendizado de Índice Composto do SQL Server
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com