パラメータ化されたクエリの助けを借りてSQLインジェクションを防ぐ方法についていくつか質問があります
sqlQuery="SELECT * FROM usersTbl WHERE username=@uname AND password=@passwd";
SqlCommand cmd = new SqlCommand(sqlQuery, conn);
SqlParameter[] par = new MySqlParameter[2];
par[0] = new SqlParameter("@uname ", SqlDbType.VarChar,25);
par[1] = new SqlParameter("@passwd", SqlDbType.VarChar, 45);
次に、それらをSqlCommandにアタッチし、ExecuteScalarします。
たとえば、クライアント;DROP --
はパスワード変数に文字列を挿入しますが、パラメータ化されたクエリはクエリの実行を妨げDROP
ますか?
ありがとうございました