JDBC-使用preparedstatement避免sql注入
2020-09-07 21:23
821 查看
使用preparedstatement代码
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class preparedstatement { public static void main(String[] args) throws SQLException { // TODO 自动生成的方法存根 String url = "jdbc:mysql://localhost:3306/login"; String user = "root"; String password = "981002"; String sql = "select * from register where user=? and password=?;"; Scanner scanner = new Scanner(System.in); System.out.println("请输入用户名"); String in_username = scanner.nextLine(); System.out.println("请输入密码"); String in_password = scanner.nextLine(); scanner.close(); Connection connection = DriverManager.getConnection(url,user,password); //预编译sql语句 PreparedStatement pre = connection.prepareStatement(sql); System.out.println(pre); pre.setString(1, in_username); pre.setString(2, in_password); System.out.println(pre); ResultSet resultset = pre.executeQuery(); if(resultset.next()) { System.out.println("登陆成功"); } else { System.out.println("登陆失败"); } resultset.close(); pre.close(); connection.close(); } }
正确运行
sql注入运行
可以看到,引号,自动添加了反斜杠,表示转义字符。这样就避免了sql注入问题。
相关文章推荐
- 使用PDO查询Mysql来避免SQL注入风险
- 使用PDO查询mysql避免SQL注入
- 使用PDO查询Mysql来避免SQL注入风险
- 使用PDO查询mysql避免SQL注入
- 使用JDBC PreparedStatement 修正【SQL注入问题】---- 附有SQL交互超详细Demo !!
- Oracle-JDBC常用接口,PreparedStatement的使用,PreparedStatement防止SQL注入,JdbcUtil工具类,修改Eclipse编辑器的工作空间编码
- JDBC:使用PreparedStatement防止SQL注入
- 使用PDO查询Mysql来避免SQL注入风险
- 使用PDO查询mysql避免SQL注入
- 使用PDO查询mysql避免SQL注入
- 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!
- 使用PDO查询Mysql来避免SQL注入风险
- 使用PDO查询Mysql来避免SQL注入风险
- 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!
- 在JDBC中使用PreparedStatement代替Statement,同时预防SQL注入
- JDBC:使用PreparedStatement防止SQL注入
- 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!
- JDBC取得自增长的主键值、sql注入的方式、占位符的使用
- JDBC的使用和SQL注入问题
- java中使用ehcache对jdbc查询数据进行缓存