SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 从零开始认识SQL注入 ,什么是SQL注入?sql注入就是本来我只有我能操作数据库,本来只是让你输入内容就走,而你却输入命令,从而在我不知情下操作数据库SQL注入1.什么是SQL注入sql注入就是本来我只有我能操作数据库,本来只是让你输入内容就走,而你却输入命令,从而在我不知情下操作数据库 2.漏洞的修复动态拼接就是在java中java变量和sql语句混合使用:select * from user where userName=’”+userName+”’ and password = ‘”+password”’ 3.参数化sql使用案例 //建立数据连接
conn=ds.getConnection();
//1.设置divpareStatement带占位符的sql语句
PreparedStatement ptmt = conn.divpareStatement("select * from user where userName = ? and password = ?");
ptmt.setString(1, "张三"); //2.设置参数
ptmt.setString(2, "123456");
rs=ptmt.executeQuery();
while(rs.next()){
System.out.println("登陆成功");
return;
}
System.out.println("登陆失败"); 参数化特点: 1.设置divparedStatement带占位符的sql语句 statement执行sql语句的方式: stmt=conn.createStatement();
rs=stmt.executeQuery("select userName from user"); 2.设置参数 PerparedStatement继承于Statement,这里主要使用的使他参数化sql的特性。 转:https://blog.csdn.net/qq_30258957/article/details/78145885 加:1.都是用来执行SQL的 PreparedStatement extends Statement; 2.Statement适合执行静态(无条件)SQL PreparedStatement适合执行动态(有条件)SQL; 3.PreparedStatement可以避免注入攻击; 相关文章: 一个自认为很安全的PHP防SQL注入 求破解 深入了解SQL注入和预防措施 相关视频: 防御sql注入-PHP实战商城开发视频教 以上就是什么是SQL注入?带你从零开始认识SQL注入的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|