(1)SQL注入獲取用戶密碼:
1
select * from student where Sno='0605030320' or '1'='1' and password='abc'
(2)設置參數在底層防止注入
1
/**
2
*
3
*/
4
package user.DAO;
5
6
import java.sql.*;
7
8
import user.entity.User;
9
10
/**
11
* 用戶數據訪問層
12
* @author Administrator
13
*@version 1.0
14
*日期2008 07 24
15
*/
16
public class UserDAO {
17
/**
18
* 根據用戶名和密碼查找用戶,找到了返回 user 對象,否則返回 null
19
* @param(參量) user
20
*/
21
public findUserByUsernamePassword(User user){
22
// 1.注冊驅動
23
try {
24
Class.forName("com.mysql.jdbc.Driver");
25
} catch (ClassNotFoundException e) {
26
// TODO Auto-generated catch block
27
e.printStackTrace();
28
}//mysql驅動
29
30
java.sql.Connection conn = null;
31
PreparedStatement pstmt = null;
32
ResultSet rs = null;
33
34
try {
35
//2.獲取數據庫的連接(接數據庫)
36
conn = java.sql.DriverManager.getConnection(
37
"jdbc:mysql://localhost/stums?useUnicode=true&characterEncoding=GBK","root","admin");
38
39
//執行SQL
40
pstmt = conn.prepareStatement("select * from student where Sno =? and Password = ?");
41
42
//設置參數防止SQL注入
43
pstmt.setString(1, user.getUsername());
44
pstmt.setString(2, user.getPassword());
45
46
//獲取數據集
47
rs = pstmt.executeQuery();
48
49
if(rs != null && rs.next()){
50
user.setId(rs.getInt("Sno"));
51
return user;
52
}
53
54
} catch (SQLException e) {
55
// TODO Auto-generated catch block
56
e.printStackTrace();
57
}finally{ //釋放資源
58
try {
59
rs.close(); //關閉數據集
60
} catch (Exception e) {
61
// TODO Auto-generated catch block
62
e.printStackTrace();
63
}
64
try {
65
pstmt.close(); //關閉表連接
66
} catch (Exception e) {
67
// TODO Auto-generated catch block
68
e.printStackTrace();
69
}
70
try {
71
conn.close(); //關閉數據庫連接
72
} catch (Exception e) {
73
// TODO Auto-generated catch block
74
e.printStackTrace();
75
}
76
}
77
78
return null;
79
80
81
}
82
83
}
84

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84
