Java防止SQL注入
来源:互联网 发布:java如何连接数据库 编辑:程序博客网 时间:2024/04/29 23:05
1. 定义:
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
2. 防止SQL注入的方法:
A:使用PreparedStatement代替Statement
1)使用PreparedStatement 比Statement的代码的可读性和可维护性更好.
2)PreparedStatement尽最大可能提高性能.
3)最重要的一点是PreparedStatement极大地提高系统的安全性.
- sql="select * from admin where username=? and password=?";
- PreparedStatement psmt= con.prepareStatement(sql);
- psmt.setString(1,username);
- psmt.setString(2,password);
- ResultSet rs = psmt.executeQuery();
- if(rs.next){
- rs.close();
- con.close();
- return false;
- }
- else{
- rs.close();
- con.close();
- return true;
- }
sql="select * from admin where username=? and password=?"; PreparedStatement psmt= con.prepareStatement(sql); psmt.setString(1,username); psmt.setString(2,password); ResultSet rs = psmt.executeQuery(); if(rs.next){ rs.close(); con.close(); return false; } else{ rs.close(); con.close(); return true; }
B: 使用字符串过滤
- public static String filterContent(String content){
- String flt ="'|and|exec|insert|select|delete|update|count|*|%
- |chr|mid|master|truncate|char|declare|;|or|-|+|,";
- Stringfilter[] = flt.split("|");
- for(int i=0;i<filter.length ; i++)
- {
- content.replace(filter[i], "");
- }
- return content;
- }
public static String filterContent(String content){ String flt ="'|and|exec|insert|select|delete|update|count|*|% |chr|mid|master|truncate|char|declare|;|or|-|+|,"; Stringfilter[] = flt.split("|"); for(int i=0;i<filter.length ; i++) { content.replace(filter[i], ""); } return content; }或者使用Filter来过滤全局的表单参数。
- java防止sql注入
- java 防止SQL注入
- java防止SQL注入
- JAVA防止SQL注入
- Java防止SQL注入
- java防止sql注入
- Java防止SQL注入
- java防止SQL注入
- Java防止SQL注入
- java 防止sql注入
- Java防止SQL注入
- Java防止SQL注入
- Java防止SQL注入
- Java防止SQL注入
- Java防止SQL注入
- java如何防止sql注入
- JAVA中防止SQL注入
- java类防止sql注入
- 小米2s线刷教程
- ajax基础
- 打造轻量级Windows Phone7 游戏引擎-Samurai 第五话 使用Samurai创建游戏
- 最近有一篇文章在人人, 天涯上频频被转,很好奇为什么这么多人转载它。也许,因为这是一种你永远无法提前经历的事吧。
- 【转】Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
- Java防止SQL注入
- 代码审查不是用来……
- java中类的初始化顺序
- 制作drbd的 RPM 包
- tp虚拟按键的添加--android
- cvFindContours轮廓提取解析_OpenCV
- C++中智能指针的设计和使用
- Documentation/mmc/mmc-async-req.txt
- android 的单击与双击,长按与简单按下的判断机制