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

Java Web开发
JSP的技术方法
错误处理页面的制作404,和500
JSP动态生成并调用JSP程序
jsp防注入的代码,如何防止SQL注入的方法和预编译的PreparedStatement的代码例子
一段生成验证码图片的程序
include与jsp:include区别
jsp基础速成精华讲解
Ajax servlet实现
如何从JSP页面传送动态图片
Java中用Servlet Listener实现定时监听
JSP、Servlet中的相对路径和绝对路径
如何成为一个优秀的jsp程序员
Java开源软件六大帮派
JSP高访问量下的计数程序 (转载)
Servlet中的这些问题,你注意到了吗?
JSP解决中文乱码问题
Servlet常见错误校验表
Session和Cookie的深入研究
无限菜单之 xml+popup 版(IE5.5+)
关于hibernate多对多----many to many

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


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