[步骤阅读四]SQL注入
按照以上方式开发,确实已经完成了基本的用户登录业务需求,但是这么做的话可以会出现一个比较严重的问题,那就是容易被SQL注入。所谓SQL注入,就是在需要用户填写信息,并且这些信息会生成数据库查询字符串的场景中,恶意输入破坏程序原有业务逻辑的数据库查询字符,最终达到欺骗程序执行恶意的SQL命令。
小博老师现在就为大家演示一下,在刚才开发的登录程序中,通过SQL注入的方式来进行登录:
可见,我们不需要知道数据库中用户表的信息,就可以进行成功登录。这个问题的根本原因在于,我们判断用户是否登录成功,是通过将用户填写的账户名称和密码拼接到查询语句:
select * from users where uname=‘账户名称’ and u