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

Java Web开发
Java Web开发:小编浅谈JavaScript小技巧(13)
小编浅谈JavaScript小技巧(14)
FreeMarker指令那些事
浅谈Struts实现文件的下载
Jsp基础那些事
浅谈Hibernate中实现ORM
整理Jsp生成html文件
浅谈Java Reflection(Java反射)(1)
浅谈Java Reflection(Java反射)(2)
浅谈网络协议中Socket类
用POI来读取/写入完整的Excel文件(一)
用POI来读取/写入完整的Excel文件(二)
浅谈JDBC事务和JTA (XA)事务
浅谈Java网络编程之Socket (1)
浅谈Java网络编程之Socket (2)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 652 ::
收藏到网摘: 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 { // 这里关闭资源的方法我也不写了 }
}