一些关于后台需要注意的地方。

一,在 where 中 加入 1=1

      select * from table where 1=1与select * from table 看上去时没有什么区别的,在普通的查询的时候的确没有什么区别,但是如果你的sql语句是 String sql=sql + string1 这种加上一个或几个字符串变量的时候就要注意了。这种时候很有可能会被SQL注入。 比如 select * from table where name="luck" or 1=1 如果注入了or 后面这一段代码的话那么整个查询语句就变成了无约束的了。

if(!name.equals("")){
sql=sql+"name='"+name+"'";
}

如果不写1=1那么在每一个不为空的查询条件前,都要判断有没有where字句。否走要在第一个出现的地方加上

where 1=1 的 写法是为了简化程序中对条件的检测

 

posted @ 2016-07-06 14:47  Mischief.思喆  阅读(188)  评论(0编辑  收藏  举报