%201=1-- sql注入怎么过滤

[复制链接]
查看11 | 回复2 | 2012-4-12 08:42:56 | 显示全部楼层 |阅读模式
你举出的这个例子是最常见的注入方式了,原因就是在字符串拼接sql的时候如果有--,那么之后的SQL语句即当做注释进行处理,即便代码或存储过程执行,也是不会报错并能顺利执行之前的语句的。有2个好用的建议1 把外部的参数,如果包含-- 则统统替换为 - - 即中间加入空格;这样最多报错,但不会被执行成功2 如果是代码字符串拼接,建议即便是number型的,在做sql的时候仍然加'' 例如select * from a where b = '"+haha+"'(b字段为数值型),这样对外部的参数进行处理,将所有的单引号统统替换为双引号,即可解决。其中意义在于不让后续的参数拼接形成 '' or 1=1-- and.........之类的局面...
回复

使用道具 举报

千问 | 2012-4-12 08:42:56 | 显示全部楼层
你在$_GET['变量名']在get变量名中,只接受数据值型。其他不通过...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行