java sql 注入 与防范

绝地灬酷狼 2021-09-30 14:46 436阅读 0赞

1.注入

1470080-20190531182809978-697375311.png

2 .预防

1470080-20190531183713914-204466898.png

  1. package com.jdbc;
  2. import java.sql.*;
  3. import java.util.Scanner;
  4. public class loginDemo {
  5. public static void main(String[] args)throws ClassNotFoundException, SQLException {
  6. //1.注册驱动
  7. Class.forName("com.mysql.jdbc.Driver");
  8. //2.连接
  9. String url = "jdbc:mysql://localhost:3306/zfj";
  10. String username = "root";
  11. String password = "root";
  12. Connection con = DriverManager.getConnection(url,username,password);
  13. //3.语句执行对象 (执行sql) 返回值 Statement
  14. //Statement stat = con.createStatement();
  15. Scanner sc = new Scanner(System.in);
  16. String user = sc.nextLine();
  17. String pas = sc.nextLine();
  18. //4.执行sql 查询 select
  19. String sql = "SELECT * FROM user where user_name= ? AND user_sex=?";
  20. //防止注入
  21. PreparedStatement pst = con.prepareStatement(sql);
  22. pst.setObject(1,user);
  23. pst.setObject(2,pas);
  24. System.out.println(sql);
  25. ResultSet rs = pst.executeQuery();
  26. //处理结果集
  27. while (rs.next()){
  28. //获取每列的的数据
  29. System.out.println(rs.getString("id")+" "+rs.getString("user_name")+" "+rs.getString("user_age")+" "+rs.getString("user_sex"));
  30. }
  31. //5.释放资源
  32. rs.close();
  33. pst.close();
  34. con.close();
  35. }
  36. }

  

转载于:https://www.cnblogs.com/vinzen/p/10956914.html

发表评论

表情:
评论列表 (有 0 条评论,436人围观)

还没有评论,来说两句吧...

相关阅读