用户登录,我们需要去查询用户表(users),对比用户名(username)和密码(password)
SQL语句:
// 正常
select * from users WHERE username="zhangsan" and password="524abb53cce35"
// sql注入 用户名写入:zhangsan'--
select * from users WHERE username='zhangsan'-- ' and password='5245'复制代码
上面两条sql语句都能查询到用户的存在,并且第二条语句中密码校验的语句已经被注销了,那么这个时候如果别人知道你的用户名就能登录你的账号,这样子岂不是很危险??????
我们来看下执行的sql语句,果然是 -- 后面被注释了~~~
select id, username, realname from users where username='zhangsan '-- ' and password='696'复制代码
不必慌,我们来看一下之前的db/mysql.js文件,
const mysql = require('mysql')