关于sql注入问题,希望各位大侠给个帮助,就是很简单的那种:
1:做一些关键字的过滤,如select等等。
2:尤其是做字符的转换 :单引号变成双引号。
3:我们现在用的是页面jsp。具体应该怎么写,希望各位大侠给个例子。本人是第一次接触这些东西,根本不知道怎么写。
本人结贴率100%。 [email protected] 发邮箱里也可以。谢谢了
1:做一些关键字的过滤,如select等等。
2:尤其是做字符的转换 :单引号变成双引号。
3:我们现在用的是页面jsp。具体应该怎么写,希望各位大侠给个例子。本人是第一次接触这些东西,根本不知道怎么写。
本人结贴率100%。 [email protected] 发邮箱里也可以。谢谢了
String sql = "select from table where id=?";
Connection con = db.getCon();
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, id);
ResultSet rs=ps.executeQuery();大概是这样的,SQL用?占位,然后set入数值免疫目前已知的所有注入,JAVA特有的。
我在ASP和PHP理没有发现有类似的方法类似的解决方案
ibeats我没有用过并不清楚,我记得HIBERNATE里也支持用?来做SQL语句占位符然后SET值。我想ibeats也应该有类似的东西。刚才我在百度上粗略查了一下,没有发现ibeats支持预编译的情况,恐怕你们只能使用加入拦截器过滤的方式来防止注入了。具体的防注入代码可以去搜索下ASP和PHP的防注入,那个应该对你有所帮助。只用过滤来防止注入的方式遇到高手后很容易被注入,好像是通过转义等东西进行手工注入,具体的我也不是很清楚
重新发新帖,问题继续 换新问题:就是把上面做的东西放入到webwork的拦截器中,不过还是不会做啊,菜鸟真可怕啊 继续!!