当前位置: 首页 > 图文教程 > Java技术 > Java Web开发 > jsp防注入的代码,如何防止SQL注入的方法和预编译的PreparedStatement的代码例子

Java Web开发
Java Web开发:UML的概念和模型
Java Web开发:Spring中的Web Context
Java Web开发:小编谈J2EE何存优势?
Java Web开发:Javaweb基础之Connection 接口浅析
Java Web开发:小编对新手学习jsp的六条建议建议
Java Web开发:小编谈如何成为一个优秀的jsp程序员
Java Web开发:小编谈J2EE 技术中的那些事
Java Web开发:小编浅谈J2EE技术
Java Web开发:小编浅谈JavaScript小技巧
Java Web开发:小编浅谈JavaScript小技巧(2)
Java Web开发:小编浅谈JavaScript小技巧(3)
Java Web开发:小编浅谈JavaScript小技巧(4)
Java Web开发:小编浅谈JavaScript小技巧(5)
Java Web开发:小编浅谈JavaScript小技巧(6)
Java Web开发:小编浅谈JavaScript小技巧(7)
Java Web开发:小编浅谈JavaScript小技巧(8)
Java Web开发:小编浅谈JavaScript小技巧(9)
Java Web开发:小编浅谈JavaScript小技巧(10)
Java Web开发:小编浅谈JavaScript小技巧(11)
Java Web开发:小编浅谈JavaScript小技巧(12)

Java Web开发 中的 jsp防注入的代码,如何防止SQL注入的方法和预编译的PreparedStatement的代码例子


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 650 ::
收藏到网摘: n/a

防注入的最有效,最简单的方法是
使用预编译的PreparedStatement
而不是使用拼凑SQL的 Statement

比如判断用户名和密码的例子,应该用
 

 
/** * 一段防止SQL注入的使用预编译的PreparedStatement的代码例子 * * @param username 用户名 * @param password 密码 * @return 成功返回true,否则返回false */
public static boolean checkLogin(String username, String password) { Connection con = null;// 数据库连接部分我就不写了 PreparedStatement stat = null; ResultSet rs = null; try { // 预编译语句 stat = con.prepareStatement("select count(*) from t_user where username=? and password=?"); // 设置2个参数 stat.setString(1, username); stat.setString(2, password); // 执行 rs = stat.executeQuery(); if (rs.next()) { return rs.getInt(1) > 0; } return false; } catch (Exception ex) { ex.printStackTrace(); return false; } finally { // 这里关闭资源的方法我也不写了 }
}