首页后端开发JAVA推荐一款漂亮的 Java 图形验证码

推荐一款漂亮的 Java 图形验证码

时间2023-04-26 11:48:01发布访客分类JAVA浏览1257
导读:前言Java图形验证码,支持自定义图片、中文、算术等类型,可用于Java Web、JavaSE等项目。真香效果展示项目集成package com.kyger; import jakarta.servlet.ServletException...

前言

Java图形验证码,支持自定义图片、中文、算术等类型,可用于Java Web、JavaSE等项目。真香

效果展示

项目集成

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 = "xxx";
    
            appSecret = "xxx";
    
	        KgCaptchaSDK KgRequest = new KgCaptchaSDK(appId, appSecret);
    
				
	        // 前端验证成功后颁发的 token,有效期为两分钟
			KgRequest.token = request.getParameter("kgCaptchaToken");
    
			// System.out.print(KgRequest.token);
    
	
	        // 填写应用服务域名,在应用管理中获取
			KgRequest.appCdn = "https://cdn.kgcaptcha.com";
    
	
	        // 请求超时时间,秒
			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		
			
	        // 发送验证请求
			MapString, String>
     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/

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

java

若转载请注明出处: 推荐一款漂亮的 Java 图形验证码
本文地址: https://pptw.com/jishu/9200.html
不能错过的分布式ID生成器(Leaf ),好用的一批 2023年稳定DataSpell激活码

游客 回复需填写必要信息