java sql 注入 与防范

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();
    }
}

  

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

时间: 2024-11-10 06:32:23

java sql 注入 与防范的相关文章

目前日向博客对xss跨站脚本注入和sql注入的防范

昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无线循环弹出框的脚本,估计这个脚本之后他再想输入也没法了. 类似这种: <html> <body onload='while(true){alert(1)}'> </body> </html> 我立刻认识到这事件严重性,它说明我的博客有严重安全问题.因为xss跨站脚本攻击可能导致用户Co

SQL注入与防范

SQL注入简介: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句. SQL注入方法: 一.拼接字符串(通过输入框输入SQL语句使其改变原意) Select * from T_User where UserID

API安全(二)-SQL注入与防范

1.什么是注入攻击 使用了用户输入的但是我们没有校验过的数据,来拼装一个可以行的指令,交给系统去执行,结果导致执行了我们不希望发生的命令.注入攻击用很多种,最常见的是SQL注入. 2.SQL注入攻击 Java程序员知道,使用Statement进行查询时会造成SQL注入攻击,从而使用PreparedStatement来进行SQL预编译,从而有效的防止SQL注入攻击.但是日常开发中,我们一般多使用框架来进行数据库操作,如JdbcTemplate.Spring-Data-Jpa.Mybatis等,但是

PHP 关于SQL注入的防范措施。

最近在使用框架的时候还是有点不安,不知道框架的设计者有没有考虑到SQL-Injection的问题,我在顶层需不需要做一些必要的过滤等等,由 此我特意的去StackOverflow看了下,真是获益良多,然后我去看了下框架的DB库的内部方法,然后就比较安心了.分享下国内外PHP程序员在处 理SQL-Injection的一些方案. 国外普遍都推荐,只要你是使用查询都应该做到两点:1.prepared statements(准备好的声明) 2.parameterized queries (参数化的查询请

sql注入以及防范

登陆验证注入: //万能用户名失效 //万能密码 xx' or 1='1 //万能用户名 xxx' union select * from users/* $sql="select * from users where username='$username' and password='$password'"; //万能密码 33 union select * from users //万能用户名 89 union select * from users;/* $sql="

MySQL防范SQL注入风险

0.导读 在MySQL里,如何识别并且避免发生SQL注入风险 1.关于SQL注入 互联网很危险,信息及数据安全很重要,SQL注入是最常见的入侵手段之一,其技术门槛低.成本低.收益大,颇受各层次的黑客们所青睐. 一般来说,SQL注入的手法是利用各种机会将恶意SQL代码添加到程序参数中,并最终被服务器端执行,造成不良后果. 例如,我们访问接口 http://imysql.com/user.php?userid=123 来根据userid获取用户信息,假设程序中是这么处理的: $sql = “SELE

记录一下学习PDO技术防范SQL注入的方法

最近学习了使用PDO技术防范SQL注入的方法,在博客里当做一次笔记.若果有新的感悟在来添上一笔,毕竟也是刚开始学习.一. 什么是PDO PDO全名PHP Data Object PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口. PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据. 二.如何去使用PDO防范SQL注入?/防范sql注入这里使用quate()方法过滤特殊字符和通过预处理的一些方式以及bindPar

Sql 注入详解:宽字节注入+二次注入

sql注入漏洞 原理:由于开发者在编写操作数据库代码时,直接将外部可控参数拼接到sql 语句中,没有经过任何过滤就直接放入到数据库引擎中执行了. 攻击方式: (1) 权限较大时,直接写入webshell 或者直接执行系统命令 (2) 权限较小时,通过注入获得管理员密码信息,或者修改数据库内容进行钓鱼等 常出现的地方: 登录页面.获取HTTP头(user-agent.client-ip等).订单处理等,HTTP头里面client-ip 和 x-forward-for 常出现漏洞,在涉及购物车的地方

SQL注入其实很简单,别一不留神就被利用了

SQL注入这个词相信大家应该都不陌生,而且每年都会有这样子的事情发生,下面我先带大家回忆11年两期起比较经典的案例事件: 1.SONY索尼事件2011年4月,著名的×××组织Anonymous***SONY一个网站,一星期后才被发现7千万的用户个人信息,其中包括姓名.地址.E-mail.出生日期.用户名.密码以及购买记录的数据信息,随后的一些其他服务器也被相继攻破 2.CSDN数据泄露门2011年底,国内各大网站被爆出"密码泄露门",最先公布的是著名技术网站CSDN600万账户和密码泄