• 头歌-信息安全技术-Java生成验证码


    一、第1关:使用Servlet生成验证码

    1、任务描述

    本关任务:使用servlet生成验证码。

    2、编程要求

    web.xml中的代码已经添加,按照上述步骤编写servlet代码,点击测评即可。
    效果图:

    在这里插入图片描述

    3、评测代码

    第一关只需按照相关知识中给出的代码照抄即可通关!
    在这里插入图片描述

    二、第2关:用户登录时校验验证码是否正确

    1、任务描述

    本关任务:编写程序验证验证码是否正确。

    2、编程要求

    好了,该你啦,使用本关所学内容,完成登录的校验,具体要求如下:

    • 首先实现验证码校验的功能,当验证码填写错误的时候,给前端返回数据“验证码错误”;
    • 当用户名为admin,密码为admin123时可以登录成功,返回“登录成功”,其他情况返回“登录失败”;
    • 前端页面已经编写完成,你需要编写的是后端代码。

    3、评测代码

    在这里插入图片描述

            PrintWriter writer=resp.getWriter();
            String verifycode=req.getParameter("verifycode");
            String username=req.getParameter("username");
            String password=req.getParameter("password");
            HttpSession session=req.getSession();
            String realCode=(String) session.getAttribute("sessionYzm");
            if(verifycode!=null && verifycode.equals(realCode)){
               if("admin123".equals(password) && "admin".equals(username)){
                   writer.write("登录成功");
               }else{
                   writer.write("登录失败");
               }
            }else{
                writer.write("验证码错误");
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    三、第3关:使用Kaptcha组件生成验证码

    1、任务描述

    本关任务:使用Kaptcha组件生成验证码,并校验验证码是否正确。

    2、编程要求

    好了,到你啦,来使用Kaptcha生成验证码并校验输入的验证码是否正确吧。

    • 补全captchacode.jsp,实现验证码表单的页面效果;
    • 补全CheckCaptchaServlet,实现验证码的校验功能,验证码正确返回:验证码输入正确,否则返回:验证码输入错误。

    3、评测代码

    在这里插入图片描述
    在这里插入图片描述

            PrintWriter out=resp.getWriter();
            HttpSession session=req.getSession();
            String trueCaptcha=(String) session.getAttribute(Constants.KAPTCHA_SESSION_KEY);
            String inputCaptcha=req.getParameter("captcha");
            if(trueCaptcha.toLowerCase().equals(inputCaptcha.toLowerCase())){
                out.write("验证码输入正确");
            }else{
                out.write("验证码输入错误");
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Titletitle>
        <script type="text/javascript">
           function reloadCode(){
               var date=new Date().getTime();
               document.getElementById("code").src="<%=request.getContextPath() %>/imageKaptcha?d="+date;
           }
        script>
    head>
    <body>
    
    <form action="checkCaptcha.jsp" method="post">
        <img alt="验证码" src="imageKaptcha" id="code"><a href="javascript:reloadCode();">看不清a>
        <input type="text" name="captcha">
        <input type="submit" value="submit">
    form>
    
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    flink 1.17.1的pom.xml模板
    教程更新 | RK3568驱动指南第六篇-平台总线
    Python使用Mechanize库完成自动化爬虫程序
    工控机防勒索病毒浅析
    LeetCode·429.N叉树的层次遍历·层次遍历
    Linux超详细笔记
    Ant Design+react 路由跳转
    Java学习----Set接口
    Java中如何遍历输出HashSet对象中的元素呢?
    WSL 忘记ubuntu的密码
  • 原文地址:https://blog.csdn.net/qq_61963074/article/details/127852991