mysql学习13 ( SQL注入 )
-
SQL注入:
-
SQL存在漏洞,会被攻击,导致数据泄露;
-
-
-
代码案例:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 测试SQL注入问题:
*/
public class SQL注入 {
public static void main(String[] args) {
//login("demmo","123456"); //正常登录
login(" 'or '1=1"," 'or '1=1 ");//SQL注入
}
//登录
public static void login(String username,String password){
Connection conn =null;
Statement st=null;
ResultSet rs=null;
try {
conn = JdbcUtils.getConnection();//获取连接
st=conn.createStatement();//创建SQL执行对象
//SELECT * FROM `users` WHERE `NAME`='demmo' AND `PASSWORD`='123456'
//SELECT * FROM `users` WHERE `NAME`=' demmo'or '1=1 ' AND `PASSWORD`=' or '1=1 '
String sql="SELECT * FROM `users` WHERE `NAME`='"+ username+"'" + " AND `PASSWORD`='"+ password+"' ";
rs=st.executeQuery(sql);
while (rs.next()){
System.out.println("password="+rs.getObject("PASSWORD"));
System.out.println("name="+rs.getObject("NAME"));
System.out.println("================================");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JdbcUtils.release(conn,st,rs);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律