我做的学生信息管理系统的界面
有两个textbox 两个button
两个文本框的名字分别是:UserName,UserPassword,
在数据库中分别对应两列:LoginUserName,LoginUserPassword
在登录验证时,我们一般的验证语句是:
select * from LoginInfo where LoginUserName='user001' and LoginUserPassword='1234'
在代码中的表现语句为:
“Select * from LoginInfo where LoginUserName=’”+UserName.text+”’ and LoginUserPassword=’”+UserPassword.text+”’”
在验证时,文本框中的内容是作为验证串的一部分的,所以验证串我们是可以自己改变的!
那么我们就可以在第一个文本框中这样输入:a’ or LoginUserName <> ‘a (此处红色“’”与上面的UserName.text对应起来看)
同样第二个文本框中的内容我们也可以这样输入:b’ or LoginUserPassword <> ‘b(此处红色“’”与上面的UserPassword.text对应起来看)
通过上面的验证就可以保证输入的验证字符串是正确的,并可以保证返回的是true
这样再点登录按钮时,即使不知用户名和密码也可以登录了
―――――――――――――――――――――――――――――――――――――――
如果是用户名和密码分开验证那么它的验证串一般这样写:
Select * from LoginInfo where LoginUserName=’”+UserName.text+”’”
这样我们就不知道密码了,但我们可以通过这样的方式来在数据库中增加一条记录:
在UserName这个文本框中这样输:a'; insert into Info.LoginInfo values('uservvv','1234');
这样构成的整体语句为:SELECT * FROM Info.LoginInfo WHERE LoginUserName='a'; insert into Info.LoginInfo values('uservvv','1234');就可以在数据库中插入一条用户记录,以后就可以用这个用户和密码登录了!