码迷,mamicode.com
首页 > 数据库 > 详细

java sql 注入 与防范

时间:2019-05-31 19:33:51      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:exec   username   nbsp   str   oca   inf   while   ima   dstat   

1.注入

技术图片

2 .预防

技术图片

 

package com.jdbc;

import java.sql.*;
import java.util.Scanner;

public class loginDemo {
    public static void main(String[] args)throws ClassNotFoundException, SQLException {
        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.连接
        String url = "jdbc:mysql://localhost:3306/zfj";
        String username = "root";
        String password = "root";
        Connection con = DriverManager.getConnection(url,username,password);
        //3.语句执行对象 (执行sql) 返回值 Statement
        //Statement stat = con.createStatement();

        Scanner sc = new Scanner(System.in);
        String user = sc.nextLine();
        String pas = sc.nextLine();


        //4.执行sql 查询 select
        String sql = "SELECT * FROM user where user_name= ? AND user_sex=?";
        //防止注入
        PreparedStatement pst = con.prepareStatement(sql);
        pst.setObject(1,user);
        pst.setObject(2,pas);
        System.out.println(sql);
        ResultSet rs = pst.executeQuery();
        //处理结果集
        while (rs.next()){
            //获取每列的的数据
            System.out.println(rs.getString("id")+"  "+rs.getString("user_name")+"  "+rs.getString("user_age")+"  "+rs.getString("user_sex"));
        }

        //5.释放资源
        rs.close();
        pst.close();
        con.close();
    }
}

  

java sql 注入 与防范

标签:exec   username   nbsp   str   oca   inf   while   ima   dstat   

原文地址:https://www.cnblogs.com/vinzen/p/10956914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!