SQLクエリでIsAdmin値を取得しようとしています(このクエリは1行または0を返します)。これは私のコードASP.net MVCでデータを取得する方法
public static bool Login (string iduser, string password, bool IsAdmin)
{
bool auth = false;
string query = string.Format("Select IsAdmin from [user] where iduser = '{0}' AND mdp = '{1}' ;", iduser, password);
SqlCommand cmd = new SqlCommand(query, con);
con.Open();
SqlDataReader re = cmd.ExecuteReader();
auth = re.HasRows;
if (auth) { IsAdmin = re.GetBoolean(0); } // the error is on this line (this line will alow me to get IsAdmin Value If the user exist)
con.Close();
return auth;
}
誰かがSQLインジェクションを使用してサイトをハッキングし、すべてのユーザーを削除したことがありますか?また、SqlDataReaderはIDisposableです。 –
これはあなたの質問に対する答えではありませんが、SQLクエリを作成する方法はSQLインジェクション攻撃の責任を負います。常にパラメータ化されたクエリを使用する必要があります。 –
これは私に ''のようなパスワードを入力することを切望しています。ドロップテーブル[ユーザー]; - ' –