java后台防止sql注入的方法
2024-09-03 23:49:04
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 = preState.executeQuery();
2.采用正则表达式将包含有 单引号('),分号(;) 和 注释符号(--)的语句给替换掉来防止SQL注入
public static String SQL(String str)
{
return str.replaceAll(".*([';]+|(--)+).*", " ");
} userName=SQL(userName);
password=SQL(password); String sql="select * from users where username='"+userName+"' and password='"+password+"' "
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(sql);
最新文章
- 测试开发面试-java持续累积
- bootstrap之移动支持
- 探索javascript----事件对象下的各种X和Y
- C++调用shell
- blockdev命令和blkid命令
- apache 配置多个虚拟主机
- DS实验题 Old_Driver UnionFindSet结构
- 【转】HTML - embed 与 object 之争
- eq相等 ,ne、neq不相等 EL表达式
- mysql优化之连接优化(open-files-limit与table_open_cache)
- Android的SharedPreferences实用技巧
- Cordova+angularjs+ionic+vs2015开发(四)
- 用phpQuery像jquery一样解析html代码
- openSource clouds
- BZOJ1680: [Usaco2005 Mar]Yogurt factory
- HAUT--1262--魔法宝石(暴力)
- 05_Python Format Operation
- mysql 常见语句
- ext图片预览功能实现,前端代码
- 简单的实现HTTP密码验证登陆
热门文章
- Class.forName(“com.mysql.jdbc.Driver”)
- jQuery Callback
- python基础---集合类型(Sets)
- es6 中let与const的简析
- 获取select文本框的下拉菜单文字内容的两种方式
- pip、conda 换国内源,大大提高下载速度
- Java反射机制(五):使用反射增强简单工厂设计模式
- Python--day19--sys模块
- poj 1920 Towers of Hanoi
- 洛谷P3366 【模板】最小生成树 题解