Как войти в систему с этой ролью
я использую этот код для входа в систему, но не знаю, что мне делать ????? я хочу, если это админ откройте форму form1, если пользователь откроет форму Form2
Что я уже пробовал:
SqlDataAdapter sda = new SqlDataAdapter("select count(*) from tbladmin where username='" + txtusername.Text.Trim() + "' and password='" + txtpassword.Text.Trim() + "'", sqlcon); DataTable dtbl = new DataTable(); sda.Fill(dtbl); if (dtbl.Rows[0][0].ToString() == "1") { SqlDataAdapter sda5 = new SqlDataAdapter("select role from tbladmin where username='" + txtusername.Text.Trim() + "' and password='" + txtpassword.Text.Trim() + "'", sqlcon); DataTable ds5 = new DataTable(); sda5.Fill(ds5); String value5 = ds5.Rows[0][0].ToString(); Debug.WriteLine("value is : " + value5); if (????????? = 'admin') {
Richard MacCutchan
У вас есть две гигантские дыры безопасности в вашем коде:
1. хранение паролей в открытом виде.
2. Использование конкатенации строк для создания команд SQL.
Richard Deeming
Немного легкого чтения для вас:
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]