当前位置:  开发笔记 > 编程语言 > 正文

如何从C#中的数据库中获取用户名和密码?

如何解决《如何从C#中的数据库中获取用户名和密码?》经验,为你挑选了2个好方法。

我的活动中有以下代码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();

login桌子在哪里username,pwd是它的领域.在此代码之后,所有值都存储在reader对象中.我想存储usernamepwd单独的变量.

我怎么能做到这一点?



1> GEOCHET..:

通常,在访问数据库时,您应该使用与此类似的东西来消除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())
        ...................
    }

但更真实地存储凭据,您应该使用诸如Membership系统之类的东西,而不是滚动自己的.



2> ccook..:

你正在冒着sql注入的巨大风险. 将SQL参数用于SqlCommands中的值.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有