【发布时间】:2016-06-13 09:23:42
【问题描述】:
关于安全性,这是一个肮脏的原型,因此密码没有哈希盐。
我正在测试一些 c# MySQL 代码,当正确的凭据已发送到数据库时,程序返回值 1,表示正确。
但是,如果检查的值与结果不匹配,则会出现异常:
Server.exe 中出现“System.FormatException”类型的未处理异常 附加信息:输入字符串的格式不正确。
public int CheckLoginCredentials(String username,string password)
{
string query = "SELECT * from testTable.user WHERE username='" + username + "' and password='" + password + "'";
int Count = -1;
//Open Connection
if (this.OpenConnection() == true)
{
//Create Mysql Command
MySqlCommand cmd = new MySqlCommand(query, connection);
//ExecuteScalar will return one value
try
{
Count = int.Parse(cmd.ExecuteScalar() + "");
}
catch (Exception e)
{
throw e;
}
//close Connection
this.CloseConnection();
return Count;
}
else
{
return Count;
}
}
我试图抛出异常,但它使服务器崩溃。我怎样才能优雅地解决问题?
【问题讨论】: