登录的基本逻辑
1,验证账号密码的正确性
与数据库相匹配的代码
string sql = "select count[*] from 表名 where pwd = ‘’ and ac = ‘’ ";
//单值结果(0/1)判断是否正确,有一条结果返回。
using System.Data.SqlClient;
public static string address = “Data Source = .;Initial Catalog = 数据库名;Integrated Security = True”;
SqlConnection con = new SqlConnection(address);
con.Open();
SqlCommand cmd = new SqlCommand(sql,cmd);
int a = (int)cmd.ExecuteScalar();
con.Close();
if (a == 1)
{
MessageBox.Show(“登录成功”);
//跳转页面
Form2 f2 = new Form2();
Hide();//隐藏
}
else
MessageBox.Show(“登录失败”);
2,跳转页面成功后,如何传值
传值有两种方式
A.点对点直接传值(适用于具有私密性要求的情况)
B.通过中间人代理传值(适用于需要广播的情况)
B,定义一个中间的静态变量在Program.cs中
把窗体A的值传给变量,再把变量给B
3,限制流量攻击的办法是,在账号密码验证之前判断,账号是否为空,并且是否有间隔。
if (TXT_ID.Text.Trim() == “”)
{
MessageBox.Show(“账号格式不对”);
return;//用return结束之后所有代码。不执行,截断了。
}
if (TXT_PWD.Text.Trim() == “”)
{
MessageBox.Show(“密码格式不对”);
return;
}
//FarmClosing 事件,Application.Exit();