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前,处理一下!加密!