Неправильный синтаксис рядом с "электронной почтой"
я новичок в sql. Я предполагаю, что напишу код, который позволит мне проверить ввод пользователя на наличие электронной почты и пароля в базе данных.
Ниже приведен код, который я написал
protected void btnLogin_Click(object sender, EventArgs e) { string strEmail, strPwd, strSel; int intShopperID; DatabaseMgmt loginObj = new DatabaseMgmt(); //read e-mail and password that are entered in the textboxes strEmail = emailTextBox.Text.ToLower(); strPwd = pwdTextBox.Text.Trim(); strSel = "SELECT ShopperID" + "FROM Shopper" + "WHERE Email = '" + strEmail + "'" + "AND Passwd = '" + strPwd + "'"; SqlDataReader dR = loginObj.ExecuteSelect(strSel); if (dR.Read()) { intShopperID = 1; Session["shopperID"] = intShopperID; Response.Redirect("Default.aspx"); } else { intShopperID = 0; lblMsg.Text = "Incorrect email or password!"; lblMsg.ForeColor = System.Drawing.Color.Red; } }
Что я уже пробовал:
я не знаю, как продолжить отсюда :(
Richard Deeming
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]
Richard Deeming
Кроме того, никогда не храните пароли в виде обычного текста. Это нарушение безопасности, ожидающее своего часа.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]