∪∩deniable Design
个人JAVA版GAE(google app engine),struts2+jpa+jQuery开发,互相交流 http://iunbug.appspot.com/
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
[简单]Java连接MySQL及防SQL注入
Posted on 2008-07-27 18:08
∪∩BUG
阅读(1761)
评论(0)
编辑
收藏
所属分类:
JSP学习笔记
(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
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
第一次参与开源项目--完成翻译jQuery.Syntax指南成中文.
Google labs 推出Google 代码搜索 - 搜索开放源代码.
共享自己修改Blogjava主题之KJC的CSS,你的Blog也能美观大方!
把自己修改的Blog主题的CSS与大家分享,你的Blog代码也能让人读得舒心.
Jsp学习笔记(一)--环境变量
常用 JDBC 驱动名字和 URL 列表
[简单]Java连接MySQL及防SQL注入
Powered by:
BlogJava
Copyright © ∪∩BUG
留言簿
(9)
给我留言
查看公开留言
查看私人留言
我参与的团队
深圳Java俱乐部(0/0)
随笔分类
(78)
Database学习笔记(4)
Hibernate学习笔记(7)
JavaScript学习笔记(28)
Java学习笔记(6)
JSP学习笔记(7)
Struts1.X学习笔记(2)
Struts2学习笔记(11)
VC++/MFC学习笔记(5)
程序员必学英语(8)
随笔档案
(138)
2012年10月 (1)
2012年9月 (4)
2012年7月 (1)
2012年6月 (11)
2011年7月 (4)
2011年6月 (1)
2011年5月 (6)
2011年4月 (1)
2011年3月 (1)
2011年2月 (6)
2011年1月 (4)
2010年12月 (9)
2010年11月 (12)
2010年10月 (9)
2010年9月 (33)
2009年4月 (1)
2008年9月 (6)
2008年8月 (23)
2008年7月 (5)
搜索
最新评论
1. re: Visual C++ 6.0调试功能 图解教程(1)--快速入门
不错不错,谢谢!
--huqimei
2. re: 基于jQuery的Ajax文件上传插件--Ajax Upload
什么几把东西,都打不开
--邓海龙
3. re: 基于jQuery的Ajax文件上传插件--Ajax Upload
挺好
--邓海龙
4. re: Visual C++ 6.0调试功能 图解教程(1)--快速入门
表示感谢的说
--墨色
5. re: MFC简易文章编辑器(Brute Froce算法)(符源码)
3r
--fengjiajun
阅读排行榜
1. Visual C++ 6.0调试功能 图解教程(1)--快速入门(20643)