Java行为验证码

贾迎春
• 阅读 650

前言

Java是一种流行的编程语言,验证码是一种常用的网络安全技术。Java发展至今,网上也出现了各种各样的验证码,本人初学Java,下面是我用Java实现短信验证码的总结。

Java行为验证码

项目集成

后台接收前台的kgCaptchaToken进行验证,验证成功执行成功处理,验证失败返回错误代码及信息。

package com.kyger;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;

public class demo extends HttpServlet {
    private static final long serialVersionUID = 1L; 

    public demo() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 编码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");;
        response.setContentType("text/html; charset=utf-8");

        // 后台处理
        if (request.getMethod().equals("POST")){
            String html, appId, appSecret;

            // 设置 AppId 及 AppSecret,在应用管理中获取
            appId = "AppId";
            appSecret = "AppSecret";
            KgCaptchaSDK KgRequest = new KgCaptchaSDK(appId, appSecret);

            // 前端验证成功后颁发的 token,有效期为两分钟
            KgRequest.token = request.getParameter("kgCaptchaToken");
            // System.out.print(KgRequest.token);

            // 填写应用服务域名,在应用管理中获取
            KgRequest.appCdn = "appCdn";

            // 请求超时时间,秒
            KgRequest.connectTimeout = 5;

            // 用户登录或尝试帐号,当安全策略中的防控等级为3时必须填写,一般情况下可以忽略
            // 可以填写用户输入的登录帐号(如:request.getParameter("username"),可拦截同一帐号多次尝试等行为
            KgRequest.userId = "kgCaptchaDemo";

            // request 对象,当安全策略中的防控等级为3时必须填写,一般情况下可以忽略
            KgRequest.request = request;
            // java 环境中无法提供 request 对象,请分别定义:clientIp|clientBrowser|domain 参数,即:
            // KgRequest.clientIp = "127.0.0.1";  // 填写客户端IP
            // KgRequest.clientBrowser = "";  // 客户端浏览器信息
            // KgRequest.domain = "http://localhost";  // 你的授权域名或服务IP        

            // 发送验证请求
            Map requestResult = KgRequest.sendRequest();
            if("0".toString().equals(requestResult.get("code"))) {
                // 验签成功逻辑处理 ***

                // 这里做验证通过后的数据处理
                // 如登录/注册场景,这里通常查询数据库、校验密码、进行登录或注册等动作处理
                // 如短信场景,这里可以开始向用户发送短信等动作处理
                // ...

                html = "<script>alert('验证通过');history.back();</script>";
            } else {
                // 验签失败逻辑处理
                html = "<script>alert(\"" + requestResult.get("msg") + " - " + requestResult.get("code") + "\");history.back();</script>";
            }        

            response.getWriter().append(html);
        } else {
            response.sendRedirect("index.html");
        }

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

最后

SDK开源地址:https://github.com/KgCaptcha,顺便做了一个演示:https://www.kgcaptcha.com/demo/

点赞
收藏
评论区
推荐文章
宙哈哈 宙哈哈
1年前
PHP短信验证码防刷方案
短信验证码是通过发送验证码到手机的一种有效的验证码系统。利用短信验证码来注册会员,大大降低了非法注册的数据。
宙哈哈 宙哈哈
1年前
【总结】Java实现短信验证码
Java是一种流行的编程语言,验证码是一种常用的网络安全技术。Java发展至今,网上也出现了各种各样的验证码,本人初学Java,下面是我用Java实现短信验证码的总结。
宙哈哈 宙哈哈
1年前
【干货】验证码的常见类型总结
验证码是一种区分用户是计算机和人的公共全自动程序。简单来说,验证码就是验证操作是人还是机器。下面我就总结一下常见的验证码类型都有哪些?
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
3年前
.Net中验证码图片生成
开发网站或平台系统,登录页面是必不可少的功能,但是现在很多人可以使用工具暴力破解网站密码,为了防止这类非法操作,需要在登录页面添加验证,验证码就是最常用的一种验证方式。我结合了自己的经验和网上的验证码资料,总结一下c验证码开发,直接放代码,文中有注释,可以轻松理解代码意思。功能:实现了打开登陆页面是生成验证码图片以及点击验证码时,刷新验证码功能,验
马尚 马尚
7个月前
验证码识别与破解:从原理到实战
验证码是网络安全中常用的一种机制,旨在确认用户是人而不是机器,防止恶意程序对网络资源的滥用。然而,随着计算机视觉和机器学习技术的发展,验证码的破解变得越来越普遍。本文将介绍验证码的常见类型、识别原理,并利用Python实现验证码的识别与破解。验证码类型常见
宙哈哈 宙哈哈
1年前
KgCaptcha验证码实现笔记
闲来无聊,在网上发现了一个验证码产品KgCaptcha,下面是我用KgCaptcha开发验证码的记录。
宙哈哈 宙哈哈
1年前
KgCaptcha接入汇总
最近有在用一款好玩的验证码产品,乐于探索的我,决定从不同的语言去探索这款验证码。KgCaptcha支持PHP、Python、Java、C的接入。下面是我接入过程记录中的代码。
不是海碗 不是海碗
1年前
验证码短信 API 接入指南:Java 语言示例代码
短信验证码是一种通过短信发送的验证码,通常用于验证用户的身份、保障账户安全和防止恶意攻击等。短信验证码已经成为现代社会中不可或缺的一部分,广泛应用于各种场景,包括用户注册和登录、找回密码等等。为了满足企业在账户安全验证和业务发展方面的需求,验证码短信API
贾迎春
贾迎春
Lv1
春江潮水连海平,海上明月共潮生。
文章
9
粉丝
1
获赞
3