在数据库里面创建一个存储过程,有两个输入参数,@sname,@spwd
Create proc proc_stu
@sname varchar(50),
@spwd varchar(50)
as
declare @count int;
select count(*) from stuinfo where sname=@sname and spwd=@spwd;
if(count>0)
//.....操作代码
go
exec proc_stu 第一个参数,第二个参数
如果传入的第一个参数类似于 " 任意字符 or 1=1 --" ,则在数据库里面select.....where sname=任意字符 or 1=1 --.....
在数据库中 "--"表示注释的意思,而组成的sql语句where条件 始终为true ,这就没有起到验证信息的作用,也就形成了注入攻击。
|