我发现我只是在编程,好多安全问题,其实我真的不知道也没更多的关注!
请大家帮助帮助我!!!!
我从来没注意过 ,现在有人提醒我,我做的东西有安全漏洞,就是这个
'or''=''or'说很原始的漏洞,怎么过滤呢?代码怎么写,过滤掉 ‘ ’的
还有其他安全注意事项吗?
 
请帮帮我吧!

解决方案 »

  1.   

    狂晕,建议楼主查找一下java.sql.PreparedStatement的资料
      

  2.   

    shine333,你给过我帮助,可是你晕什么啊,真可恨,人家不知道,你就多帮助帮助吗
    高手是有责任的 中国的程序有漏洞,你们也脸面无光啊!
      

  3.   

    shime也只是一个感叹而已,楼主不必在意。
      

  4.   

    回复人: xinyuedou(新月) ( ) 信誉:100  2005-11-27 14:03:00  得分: 0  
     
     
       shine333,你给过我帮助,可是你晕什么啊,真可恨,人家不知道,你就多帮助帮助吗
    高手是有责任的 中国的程序有漏洞,你们也脸面无光啊!
      
     
    to xinyuedou(新月)::
     人家没有任何负责和义务帮助你,在这里浪费时间给你解答问题,那是不是负责和义务
      

  5.   

    我晕是因为我曾经以为只有vb,asp才会有sql注入,如果觉得不好,ok,我道歉lz可能是没有学过jdbc,因为对sql设置参数,PreparedStatement是标准的,也似乎是唯一的做法(即使用了各种DAO,甚至hibernate),而PreparedStatement永远不会有这个问题,lz所需要的过滤问题它会自动帮你解决
      

  6.   

    真心感谢 shine333 ,感谢你的帮助与关心,但今天在这里,怎么那么伤心!
      

  7.   

    回复人: xinyuedou(新月) ( ) 信誉:100  2005-11-27 14:55:00  得分: 0   
     
       我是来寻求帮助的,不是接受嘲笑与讽刺,我是一个初级编程者,很多都会忽略,需要更多的学习,也许我也需要更多的这种嘲笑,可是高手们都忘了自己成长的道路了吗,没有人给过你们帮助吗?你们在技术还不成熟的时候,受到嘲笑,心里不难过吗?帮助别人就是帮助,你不愿意浪费时间在这里,可以不回答,但也不要高高在上,不可一视!也许你在技术上也会有麻烦的,不知道怎么解决的时候,会不会想到我们这些曾经被你们嘲笑的人!
      
     
    to lz::
     没有人嘲笑与讽刺你,我说上面的话,只是说明对别人的帮助并不是责任和义务。这叫奉献。同时借楼主的贴,感谢对有对我有过帮助的兄弟们,因为有你们的帮助,才有我们一点一滴的成长。谢。
      

  8.   

    提醒和我一样,没注意到代码安全的朋友们 把Statement换成PreparedStatement,下面是个小例子,好好看看,会用的,我今天才学会,还得感谢楼上各位<%@ page import="java.sql.*"%>
    <%
    String code="12345";
    String name="xinyue"
     Connection conn=null;
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      conn=DriverManager.getConnection("jdbc:odbc:db","","");String sql="select * from admin where pwd=? and username=? ";
      PreparedStatement ps=conn.prepareStatement(sql);ps.setString(1,code);
    ps.setString(2,name);
    ResultSet rs=ps.executeQuery();
    rs.next();
    ........
    ........
    %>
      

  9.   

    用 PreparedStatement 是比较好的解决方案