输入验证的解决办法
1)使用验证控件
2)使用正则表达式
3)使用参数化的存储过程和查询语句
private bool CheckUser(string username,string pwd)
{
bool bexist=false;
SqlConnection conn=new SqlConnection();
conn.ConnectionString=ConfigurationSettings.AppSettings["strconn"];
string strsql="select username,pwd from user where username=@username and pwd=@pwd";
SqlParameter pusername=new SqlParameter("@username",SqlDbType.NVarChar,30);
pusername.Valuse=username;
SqlParameter ppwd=new SqlParameter("@pwd",SqlDbType.NVarChar,30);
ppwd.Valuse=pwd;
SqlCommand cmd=new SqlCommand(strsql,conn);
cmd.Parameters.Add(pusername);
cmd.Parameters.Add(ppwd);
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
bexist=true;
}
conn.Close();
return bexist;
}
1)使用验证控件
2)使用正则表达式
3)使用参数化的存储过程和查询语句
private bool CheckUser(string username,string pwd)
{
bool bexist=false;
SqlConnection conn=new SqlConnection();
conn.ConnectionString=ConfigurationSettings.AppSettings["strconn"];
string strsql="select username,pwd from user where username=@username and pwd=@pwd";
SqlParameter pusername=new SqlParameter("@username",SqlDbType.NVarChar,30);
pusername.Valuse=username;
SqlParameter ppwd=new SqlParameter("@pwd",SqlDbType.NVarChar,30);
ppwd.Valuse=pwd;
SqlCommand cmd=new SqlCommand(strsql,conn);
cmd.Parameters.Add(pusername);
cmd.Parameters.Add(ppwd);
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
bexist=true;
}
conn.Close();
return bexist;
}
本文介绍了一种使用参数化存储过程进行输入验证的方法,通过实例演示了如何利用SQL参数防止SQL注入攻击,确保应用程序的安全。
848

被折叠的 条评论
为什么被折叠?



