【发布时间】:2013-03-06 10:44:41
【问题描述】:
我有一个项目,我想在其中发送忘记密码的邮件,但我无法从数据库中找到用户名和密码,它正在发送空白邮件,如用户名:和密码:我想从中查找用户名和密码3 层架构中的数据库提前感谢,这是我的代码....
protected void Button1_Click(object sender, EventArgs e)
{
int id = MyRegistration.fgusername(txt_Email.Text.Trim());
if (id > 0)
{
string sQuery = "Select UserName, Password From Registration Where EmailID = '" + txt_Email.Text + "'";
DataSet ds =DataAccessLayer.ExeSelectQuery(sQuery);
try
{
string sUserName = "";
string sPassword = "";
sendMail( sUserName, sPassword);
}
catch (Exception ex) { }
}
else { label1.Text = "Invalid User"; }
}
数据访问层:
public static int fgusername(string sEmailId)
{
int id1 = 0;
string selectstr = "SELECT UserName, Password FROM Registration WHERE EmailID = '" + sEmailId.Trim() + "'";
id1 = DataAccessLayer.ExecuteReader(selectstr);
return id1;
}
【问题讨论】:
-
在发送邮件之前,您只需将 sUserName 和 sPassword 设置为空白。
-
危险:SQL 注入! ;-)
-
如何从选择用户名和密码的查询中接收 ID? (检查
fgusername方法) -
您真的以明文形式存储密码吗?
标签: c# asp.net sendmail 3-tier