首页 > 其他分享 >验证码

验证码

时间:2024-09-20 17:35:20浏览次数:1  
标签:web request 验证码 captcha key import

import com.example.common.CaptureConfig;
import com.wf.captcha.SpecCaptcha;
import com.wf.captcha.base.Captcha;
import com.wf.captcha.utils.CaptchaUtil;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@CrossOrigin
@RestController
@RequestMapping
public class CaptureController {
@RequestMapping("/capture")
public void captcha(String key,HttpServletRequest request, HttpServletResponse response)throws Exception{
// 指定验证码的长宽以及字符的个数
SpecCaptcha captcha = new SpecCaptcha(135,33,5);
captcha.setCharType(Captcha.TYPE_NUM_AND_UPPER);
// 首先把验证码在后台保存一份,但是不能保存在session,可以存在redis,也可以存在后台的某个Map里
CaptureConfig.CAPTURE_MAP.put(key,captcha.text().toLowerCase());
// 验证码输出
CaptchaUtil.out(captcha,request,response);
}
}

// 算术类型
ArithmeticCaptcha captcha = new ArithmeticCaptcha(135,33);
// 几位数运算,默认两位
captcha.setLen(2);
// 获取运算公式:3+2=?
captcha.getArithmeticString();
// 获取运算结果: 5
captcha.text();
CaptureConfig.CAPTURE_MAP.put(key,captcha.text().toLowerCase());
CaptchaUtil.out(captcha,request,response);

3.登录流程
@AutoLog("登录系统")
@PostMapping("/login")
public Result login(@RequestBody Admin admin, @RequestParam String key, HttpServletRequest request){
//判断验证码是否正确
if (!admin.getVerCode().equals(CaptureConfig.CAPTURE_MAP.get(key))){
// 如果不相等,验证码清空
CaptchaUtil.clear(request);
return Result.error("验证码不正确");
}
Admin loginUser =userService.login(admin);
return Result.success(loginUser);
}

标签:web,request,验证码,captcha,key,import
From: https://www.cnblogs.com/zhishizongjie/p/18422933

相关文章

  • 易优cms eyoucms登陆后台提示验证码错误
    检查session权限:确保 /data/session 目录的权限为 777。确保 /data/session 目录的所有者为web服务器用户(例如 www-data)。修改PHP配置:如果可以修改 php.ini 文件,将 session.auto_start 设置为 1。如果无法修改 php.ini 文件,可以在代码中显式启动s......
  • 易优eyoucms网站留言验证码怎么调用
    前台留言模型的图形验证码标签调用比如需要在留言表单里加入图形验证码,复制下方黄色代码在留言标签中{eyou:guestbookform}{eyou:guestbookformtype='default'}<formmethod="POST"enctype="multipart/form-data"action="{$field.action}"><!--&......
  • 易优eyoucms网站表单留言增加验证码怎么做
    前台留言模型的图形验证码标签调用比如需要在留言表单里加入图形验证码,复制下方黄色代码在留言标签中{eyou:guestbookform}{eyou:guestbookformtype='default'}<formmethod="POST"enctype="multipart/form-data"action="{$field.action}"><!--&......
  • 易优eyoucms网站怎么关闭后台登录验证码呢
    在易优CMS(EyouCMS)中关闭后台登录验证码的操作相对简单。以下是详细的步骤:1.登录后台首先需要登录到后台管理系统。登录后台访问后台登录页面:访问/admin.php或相应的后台登录地址。输入用户名和密码:输入管理员账号和密码登录后台。2.进入系统设置进入后......
  • 易优eyoucms网站后台登录验证码是否不用,也可以登录?
    在易优CMS(EyouCMS)中,后台登录验证码是否必须取决于您的配置。如果您不需要验证码,可以通过以下几种方法来关闭它,从而实现无需验证码即可登录后台。方法一:通过后台设置关闭登录后台:访问后台登录页面,并登录。进入系统设置:在后台左侧菜单栏中找到“系统设置”或“全局......
  • 易优eyoucms网站后台验证码总是重复弹出问题,无法登陆后台
    当易优CMS后台登录时出现验证码重复弹出的问题,导致无法正常登录后台,可以通过以下步骤进行排查和解决:1.检查验证码生成逻辑首先检查验证码生成和验证的逻辑是否正确。检查验证码生成代码定位验证码生成代码:找到生成验证码的代码,通常在login.php或相关文件中。确认验证码生......
  • 易优eyoucms网站后台登录一直显示验证码错误
    当后台登录一直显示验证码错误时,可以尝试以下几个方面进行排查和解决:1.检查目录权限和所有者确保目录权限和所有者设置正确,这对于文件的读写非常重要。修改目录权限修改目录权限:将目录权限设置为755,文件权限设置为644。使用命令chmod-R755/path/to/directory修改目录......
  • 易优eyoucms网站刚安装的CMS,后台登录没有显示验证码,怎么回事
    如果您刚安装了易优CMS,并且发现后台登录页面没有显示验证码,这可能是由于多种原因造成的。以下是几个可能的解决方案:1.关闭CDN加速如果您使用的是宝塔面板,并且启用了CDN加速功能,这可能导致验证码无法正常显示。因为CDN加速可能会缓存静态资源,导致验证码图片无法动态生成。关闭......
  • 易优cms网站登陆后台,总是提示验证码错误,账户密码都对!
    当您在登录易优CMS后台时遇到“验证码错误”的问题,即使账号和密码都是正确的,可能是由于多种原因导致的。以下是一些可能的解决方案:解决步骤检查目录权限排除法测试本地安装测试详细步骤1.检查目录权限登录FTP客户端:使用FTP客户端(如FileZilla、WinSCP等)登录到服务器......
  • 易优cms网站验证码不显示是什么情况
    当您在使用易优CMS时遇到验证码不显示的问题,可能的原因有很多。以下是一些可能的情况及解决办法:可能的情况及解决办法1.CMS版本太低下载修复包:访问易优CMS的官方网站或修复包下载页面(如易优CMS日志),下载最新的修复包。解压缩修复包,并将其中的文件上传覆盖到网站根目录。......