jdbc-实现用户登录业务(存在sql注入)

package com.cqust;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

//模拟用户登录,验证成功还是失败
public class JDBCTest05 {
public static void main(String[] args) throws Exception {
//初始化界面,返回用户输入的信息,使用map集合存储
Map

}

/**
 * 用户登录界面
 * @return 返回用户的信息,存在集合中
 */
public static Map<string,string> initLogin(){
    Map<string,string> userInfo = new HashMap<>();
    System.out.print("&#x8BF7;&#x8F93;&#x5165;&#x4F60;&#x7684;&#x7528;&#x6237;&#x540D;:");
    Scanner scanner = new Scanner(System.in);
    String username =  scanner.next();
    System.out.print("&#x8BF7;&#x8F93;&#x5165;&#x4F60;&#x7684;&#x5BC6;&#x7801;:");
    String userpwd = scanner.next();
    userInfo.put("username",username);
    userInfo.put("userpwd",userpwd);

    return userInfo;
}

/**
 * &#x4F7F;&#x7528;jdbc&#x6280;&#x672F;&#x5B8C;&#x6210;&#x767B;&#x5F55;&#x68C0;&#x6D4B;
 * @param map &#x7528;&#x6237;&#x7684;&#x4FE1;&#x606F;&#x5B58;&#x50A8;&#x5728;&#x96C6;&#x5408;map&#x4E2D;
 * @return  &#x6700;&#x540E;&#x8FD4;&#x56DE;&#x767B;&#x5F55;&#x6210;&#x529F;&#x8FD8;&#x662F;&#x5931;&#x8D25;
 * @throws Exception &#x8FD9;&#x91CC;&#x4E3A;&#x4E86;&#x7701;&#x70B9;&#x52B2;&#x76F4;&#x63A5;throws
 */
public static boolean login(Map<string,string> map) throws Exception{
    String username = map.get("username");
    String userpwd = map.get("userpwd");
    boolean loginInfo = false;
    //1.&#x6CE8;&#x518C;&#x9A71;&#x52A8;
    Class.forName("com.mysql.jdbc.Driver");
    //2.&#x83B7;&#x53D6;&#x8FDE;&#x63A5;
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/cqust_db",
            "root","hch1");
    //3.&#x83B7;&#x53D6;&#x6570;&#x636E;&#x5E93;&#x64CD;&#x4F5C;&#x5BF9;&#x8C61;
    Statement statement = connection.createStatement();

    //4.&#x5199;sql&#xFF0C;&#x6267;&#x884C;sql
    String sql = "select username,userpwd from t_user_login where username = '"+username+"' and userpwd = '"+userpwd+"'";

    ResultSet resultSet = statement.executeQuery(sql);
    //5.&#x8FD9;&#x91CC;&#x53EA;&#x9700;&#x8981;&#x770B;&#x662F;&#x5426;&#x6709;&#x6570;&#x636E;&#xFF0C;&#x5982;&#x679C;&#x67E5;&#x8BE2;&#x5230;&#x6570;&#x636E;&#xFF0C;&#x5219;&#x767B;&#x5F55;&#x6210;&#x529F;&#xFF0C;&#x76F4;&#x63A5;loginInfo = true;
    if (resultSet.next()){
        loginInfo = true;

    }

    //6.&#x5173;&#x95ED;&#x8D44;&#x6E90;
    if (resultSet!=null){
        resultSet.close();
    }
    if (statement!=null){
        statement.close();
    }

    if (connection!=null){
        connection.close();
    }

    return loginInfo;
}
</string,string></string,string></string,string>

}

Original: https://www.cnblogs.com/journeyhch/p/15573926.html
Author: journeyhch
Title: jdbc-实现用户登录业务(存在sql注入)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/508024/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 学习笔记——Django项目中的F对象,Q对象,聚合函数,排序

    2022-09-30 F对象: 在shell中是用于两个有关联的属性之间的查询。 使用实例: 查询书籍表中阅读量大于评论量的记录 前提,进入pycharm,进入虚拟环境,进入she…

    数据库 2023年6月14日
    0104
  • mysql绿色版在windows系统中的启动

    1、下载mysql免安装版 例如:mysql-5.7.11-winx64 2、修改配置文件,my-default.ini名称改为:my.ini,文件里面的参数配置: [mysqld…

    数据库 2023年6月11日
    092
  • 一张图弄懂sql的连接查询

    无意中看到一张图,非常直观的表现出了sql连接查询的结果集,对连接查询的理解十分有帮助,所以收藏了下来。 其中红色部分为可以查询出的数据,白色部分为不能查询出的数据 Origina…

    数据库 2023年6月14日
    0115
  • Linux安装nginx并配置ssl自签证书

    一、下载nginx压缩包:官网下载地址http://nginx.org/download/,点击进入选择合适自己系统的版本,本机已centos安装nginx-1.9.1.tar.g…

    数据库 2023年6月14日
    0113
  • MySQL的Explain总结

    Explain简介 MySQL优化器在基于成本的计算和基于规则的SQL优化会生成一个所谓的 执行计划,我们就可以使用执行计划查看MySQL对该语句具体的执行方式。 介绍这个好啰嗦就…

    数据库 2023年5月24日
    087
  • 西数数码-安装hmx_linux下的环境记录

    [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/6/x86_64/gpgcheck=0enabled=…

    数据库 2023年6月14日
    066
  • PHP array_reduce()

    array_reduce array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 示例一: 示例二:…

    数据库 2023年6月14日
    0106
  • Mysql 数据恢复逻辑 基于binlog redolog undolog

    注:文中有个易混淆的地方”事务” sql事务,即每次数据库操作生成的事务,这个事务trx_id只在undolog里存储,因为MVVC需要记录修改的事务id,…

    数据库 2023年5月24日
    0110
  • 微服务架构项目浅析

    微服务架构的演变 最初的需求 业务发展后需要克服的问题 微服务架构使用的组件 Nginx Redis Rabbitmq Mysql jar jdk * 总结 ​ 这个章节主要介绍微…

    数据库 2023年6月6日
    092
  • Redis与Python连接实例

    2022-09-22 1、 Redis与Python建立连接之前需要先安装”Redis”安装包: 在ubantu中,打开终端,输入命令: sudo pip …

    数据库 2023年6月14日
    0121
  • gitlab-runner浅谈——【git fetch-pack: expected shallow list】解决方法

    配置完gitlab-runner后执行job总是失败,如下: 解决方法 分析原因发现是git的版本太低了,我用的是系统自带的1.8.3的版本。后来更新为:2.31.1 后job可以…

    数据库 2023年6月11日
    098
  • NO.1 通讯录管理系统+源代码(C++)

    功能描述:显示简单的菜单,供用户选择操作 实现步骤:直接cout输出 功能描述:根据用户不同的操作代码选择,进入不同的功能,我们使用switch分支结构进行搭建 实现步骤:用whi…

    数据库 2023年6月14日
    080
  • MySQL 学习笔记(六)—character 与 collation

    A character set is a set of symbols and encodings. A collation is a set of rules for compa…

    数据库 2023年6月16日
    0130
  • 绘制几何图形

    《零基础学Java》 绘制几何图形Java可以 分别使用 Graphics 和 Graphics2D 绘制图形, Graphics类 使用不同的方法绘制不同的图形(drawLine…

    数据库 2023年6月16日
    0118
  • [转]万智牌规则和异能详解

    下面这些都是之前的旧文档了,直到我发现了一个神奇的网站。建议大家有任何疑问,都可以到这里查看规则文档 点击网站的右上方可以搜索 最近游戏过程中发现规则和异能详解的文档很少,找起来非…

    数据库 2023年6月9日
    0201
  • Hello Word

    编写代码 public class  hello{ public static void main(String[] args){ System.out.print("H…

    数据库 2023年6月11日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球