参数错误:要求为数字型。

sql注入, 后面加上 and 1=1 出现这样,意思就是做了防注入吗?

防注入一般是对sql关键字和符号进行处理

不是,这只是拼接sql,用and 1=1不会改变查询的结果,同时避免条件为空的情况。

这么做是为了要拼接sql

http://www.cnblogs.com/CareySon/p/4138575.html 里面有你要找资料。

where 1=1永远为true,因此这句话在这里是不会影响结果的,只是为了方便拼接and xxx=aaasql这样的sql语句,因为在多条件查询的时候可能一个条件也没有,也可能有很多,因此where的筛选就不确定,如果没有查询条件,sql语句后面是where1=1不影响,如果很多条件直接就拼接an是true

这个编辑器出问题了,字写多一点儿焦点就总是错位!!!!

个人觉得没有做防SQL注入处理,“参数错误:要求为数字型。”说明应该是执行了SQL语句,如果防止SQL注入,应该在过滤到“and 1=1”中的and关键字,应该直接返回,不执行SQL

防注入是针对对输入的参数

因此这句话在这里是不会影响结果的,只是为了方便拼接and xxx=aaasql这样的sql语句,因为在多条件查询的时候可能一个条件也没有,也可能有很多,因此where的筛选就不确ding

是为了要拼接sql吗。。有点乱

个人觉得没有做防SQL注入处理,“参数错误:要求为数字型。”说明应该是执行了SQL语句,如果防止SQL注入,应该在过滤到“and 1=1”中的and关键字,应该直接返回,不执行SQL

用mybatis的#{变量名}可以防止sql注入-