Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dobra ochrona przed wstrzyknięciem MYSQL?

Możesz użyć Parameters.Add ponieważ tekst w wierszu umożliwia wstrzykiwanie, przykładem lepszego SQL jest:

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();
       }
    }    
}

Oprócz problemu z wstrzykiwaniem nie szyfrujesz żadnego ze swoich haseł, polecam to sprawdzić.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dołączyć do MySQL i Postgres w zmaterializowanym widoku na żywo

  2. Jak VBA może połączyć się z bazą danych MySQL w programie Excel?

  3. android.content.res.Resources$NotFoundException:Identyfikator zasobu ciągu #0x2 Baza danych

  4. Błąd MySQL 1170 (42000):Kolumna BLOB/TEKST użyta w specyfikacji klucza bez długości klucza

  5. Połączyć wiele tabel w różnych bazach danych? MySQL