为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会有sql注入

为什么会有sql注入呢?为什么随便输入一些用户名,密码会登录成功?

正在回答

2 回答

没用预处理,语句参数相当于把表单提交的数据当参数传递之后拼接成完整语句再查询,在执行的时候执行了别的语句。比如例子中的那个语句,本来是selete * from user where username=[参数1] and password=[参数2],但是拼接了用户传递的参数之后,执行时候是:select * from user where username='' or 1=1 # and password =[参数2],#之后相当于注释了,实际执行的就是select * from user where username='' or 1=1,而1=1为真,or true 返回true,所以实际返回的是整个表的数据。所以结果集不为0,故而显示登录成功。

2 回复 有任何疑惑可以回复我~

因为没有定义用户名和密码是用什么样的数据类型,例如字符串,整型,浮点型,布尔类型

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么会有sql注入

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信