Sid*_*qui 4 .net c# t-sql asp.net sql-injection
我的活动中有以下代码btn_click:
Sqlconnection con = new Sqlconnection("server=.;database=bss;user id=ab;pwd=ab");
con.open();
SqlCommand cmd = new Sqlcommand("select * from login where username='"
+ txt4name.Text + "' and pwd='" + txt4pwd.Text + "'", con);
SqlDataReader reader = cmd.execute Reader();
Run Code Online (Sandbox Code Playgroud)
login桌子在哪里username,pwd是它的领域.在此代码之后,所有值都存储在reader对象中.我想存储username和pwd单独的变量.
我怎么能做到这一点?
GEO*_*HET 12
通常,在访问数据库时,您应该使用与此类似的东西来消除SQL注入漏洞:
using (SqlCommand myCommand = new SqlCommand("SELECT * FROM USERS WHERE USERNAME=@username AND PASSWORD=HASHBYTES('SHA1', @password)", myConnection))
{
myCommand.Parameters.AddWithValue("@username", user);
myCommand.Parameters.AddWithValue("@password", pass);
myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader())
...................
}
Run Code Online (Sandbox Code Playgroud)
但更真实地存储凭据,您应该使用诸如Membership系统之类的东西,而不是滚动自己的.
| 归档时间: |
|
| 查看次数: |
2368 次 |
| 最近记录: |