日期:2014-05-18  浏览次数:20452 次

select * from table1 where username='+s1+' and password ='+s2+'(s1,s2是变量),请问此SQL语句存在安全问题吗?如何修改可以解决此问题?
select   *   from   table1   where   username= '+s1+ '   and   password   = '+s2+ '(s1,s2是变量),请问此SQL语句存在安全问题吗?如何修改可以解决此问题?

------解决方案--------------------
select * from table1 where username= ' 'or ' '= ' '
你在查询分析器中执行一下 结果会把全部数据显示出来.
因为 ' 'or ' '= ' ' 返回的是true.
1建议你前台过滤掉特殊字符
2如果你用的是jsp开发.sql的变量应该用占位符,不能直接在sql中使用变量
3避免url的参数传递...
很多~ 其实最根本的就是特殊字符过滤.

------解决方案--------------------
sql 注入式安全问题。
可采用SqlParameter解决。

------解决方案--------------------
特殊字符过滤.
------解决方案--------------------
在传递PassWord前,处理一下!加密!