sql >> Databáze >  >> RDS >> Mysql

Dobrá prevence před injekcí MYSQL?

Můžete použít Parameters.Add protože vložený text umožňuje vkládání, příklad lepšího SQL je:

using (var conn = new SqlConnection( @"datasource=localhost;port=3306;username=root;password=xdmemes123"))
{
    conn.Open();
    var command = new SqlCommand("", conn);
    command.CommandText = "select * from life.players where DBname='@sqlName' and DBpass='@sqlPass";
    command.Parameters.Add("@sqlName", SqlDbType.VarChar ).Value = this.username.Text;         
    command.Parameters.Add("@sqlPass", SqlDbType.VarChar ).Value = this.password.Text;
    using (SqlDataReader myReader = command.ExecuteReader())
    {
       while (myReader.Read())
       {
           string value = myReader["COLUMN NAME"].ToString();
       }
    }    
}

Kromě problému s injekcí nehašujete žádné ze svých hesel, doporučuji se na to podívat.



  1. Jak jedinečně uložit registrační ID GCM do MySQL

  2. Efektivně vyřešte problém s podezřelou databází serveru SQL Server

  3. Vyberte pomocí dynamicky generovaného názvu tabulky

  4. Chyba:Neznámý sloupec '' v 'seznamu polí' Chyba MySQL