2 sarras322 sarras322 于 2015.03.07 16:15 提问

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

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

11个回答

caozhy
caozhy   Ds   Rxr 2015.03.07 18:29

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

zhou1986lin
zhou1986lin   2015.03.07 17:38

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

yk19851111
yk19851111   2015.06.07 18:03

这么做是为了要拼接sql

heart_mine
heart_mine   2015.06.23 17:45
Heandme
Heandme   2015.07.15 15:45

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

Heandme
Heandme   2015.07.15 15:46

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

isaboy
isaboy   2015.09.07 20:37

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

u013542089
u013542089   2016.08.04 13:24

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

codebay118
codebay118   2016.12.29 12:21

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

u014056600
u014056600   2017.11.28 11:06

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

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!