java开发中推荐的防御sql注⼊⽅法_java如何防⽌sql注⼊SQL注⼊是⽐较常见的⽹络攻击⽅式之⼀。它不是利⽤操作系统的BUG来实现攻击,⽽是针对程序员编程时的疏忽,被不法⽤户钻了SQL 的空⼦,通过SQL语句,实现⽆帐号登录,甚⾄篡改数据库。下⾯本篇就来给⼤家介绍⼏种java防⽌sql注⼊的⽅法,希望对你们有所帮助。
java防SQL注⼊,最简单的办法是杜绝SQL拼接。SQL注⼊攻击能得逞是因为在原有SQL语句中加⼊了新的逻辑,如果使⽤PreparedStatement来代替Statement来执⾏SQL语句,其后只是输⼊参数,SQL注⼊攻击⼿段将⽆效。
java网课推荐下⾯我们就来看看java防SQL注⼊的⽅法:
1、采⽤预编译语句集,它内置了处理SQL注⼊的能⼒,只要使⽤它的setString⽅法传值即可:String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = uteQuery();
2、采⽤正则表达式将包含有 单引号('),分号(;) 和 注释符号(--)的语句给替换掉来防⽌SQL注⼊。例:public static String SQL(String str)
{
placeAll(".*([';]+|(--)+).*", " ");
}
userName=SQL(userName);
password=SQL(password);
String sql="select * from users where username='"+userName+"' and password='"+password+"' "
Statement sta = ateStatement();
ResultSet rs = uteQuery(sql);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。