sql >> データベース >  >> RDS >> Mysql

MYSQLインジェクションからの良い予防?

    Parameters.Addを使用できます インラインテキストを使用するとインジェクションを実行できるため、より優れたSQLの例は次のとおりです。

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

    インジェクションの問題に加えて、パスワードをハッシュしないでください。調査することをお勧めします。



    1. MySQLJDBCDriverのcachePrepStmtsとuseServerPrepStmtsの違いは何ですか

    2. 1つの列を複数の外部キーとして参照することは可能ですか?

    3. Entity Frameworkコア-大文字と小文字が区別されますか、それとも大文字と小文字が区別されませんか?

    4. phpを使用してMySqlデータベースにBlobを挿入します