$rst=M("type")->where("id=".$id)->find();
以上这段代码,说可以SQL注入,我试过id 随便赋值,或者给id=select * from config 等参数,结果页面上并没有输入任何东西,这段代码,到底怎么可以SQL注入?
3 个解决方案
#1
给$id 赋值为 1 or 1=1 就绕过了
#2
我传了你给的参数,把SQL语句打出来了,在数据库中搜了一下,是可以出来数据的,但是页面上还是什么都不显示,它这样绕过了又能怎么样?根本没影响啊?情详细解答一下。
#3
也许THINKPHP 内部已经做了处理.
如果原生的, 都要把$id转换一下, 若是数值的, 用intval或 floatval, 若是字符的,把单引号转义一下.
如果原生的, 都要把$id转换一下, 若是数值的, 用intval或 floatval, 若是字符的,把单引号转义一下.
#1
给$id 赋值为 1 or 1=1 就绕过了
#2
我传了你给的参数,把SQL语句打出来了,在数据库中搜了一下,是可以出来数据的,但是页面上还是什么都不显示,它这样绕过了又能怎么样?根本没影响啊?情详细解答一下。
#3
也许THINKPHP 内部已经做了处理.
如果原生的, 都要把$id转换一下, 若是数值的, 用intval或 floatval, 若是字符的,把单引号转义一下.
如果原生的, 都要把$id转换一下, 若是数值的, 用intval或 floatval, 若是字符的,把单引号转义一下.