如果在一个sql语句里我们是这样编写的话:
select * from m_user where userID = ' 传进来的变量1 ' and password = ' 传进来的变量2 '
那我们可以在传进来的变量里这样写,
传进来的变量1 = ' or '1' = '1
传进来的变量2 = ' or '1' = '1
这样的话我们可以查出所有的数据,但是如果我们在传进来的变量里处理一下,就可以解决这个问题了。
只要把传进来的变量的所有单引号替换为两个单引号,因为sql里默认两个单引号为转义字符,这样就不会很sql里的字符集合中的字符相冲突了。